Here you can find the source of unpackZip(File zipFile, File location)
public static void unpackZip(File zipFile, File location)
//package com.java2s; //License from project: Open Source License import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class Main { private static final int BUFFER = 8192; public static void unpackZip(File zipFile, File location) { try {/* w w w . ja v a 2 s . co m*/ // Extract entries while creating required sub-directories ZipFile zf = new ZipFile(zipFile); Enumeration<?> e = zf.entries(); while (e.hasMoreElements()) { ZipEntry entry = (ZipEntry) e.nextElement(); File destinationFilePath = new File(location, entry.getName()); // create directories if required. destinationFilePath.getParentFile().mkdirs(); // if the entry is directory, leave it. Otherwise extract it. if (!entry.isDirectory()) { // Get the InputStream for current entry of the zip file // using InputStream getInputStream(Entry entry) method. BufferedInputStream bis = new BufferedInputStream( zf.getInputStream(entry)); int b; byte buffer[] = new byte[BUFFER]; // read the current entry from the zip file, extract it and // write the extracted file. FileOutputStream fos = new FileOutputStream( destinationFilePath); BufferedOutputStream bos = new BufferedOutputStream( fos, BUFFER); while ((b = bis.read(buffer, 0, 1024)) != -1) { bos.write(buffer, 0, b); } bos.flush(); bos.close(); bis.close(); } } zf.close(); } catch (IOException ioe) { ioe.printStackTrace(); } } }