Java tutorial
//package com.java2s; import java.io.InputStream; public class Main { public static void unZipFolder(InputStream input, String outPathString) throws Exception { java.util.zip.ZipInputStream inZip = new java.util.zip.ZipInputStream(input); java.util.zip.ZipEntry zipEntry = null; String szName = ""; while ((zipEntry = inZip.getNextEntry()) != null) { szName = zipEntry.getName(); if (zipEntry.isDirectory()) { // get the folder name of the widget szName = szName.substring(0, szName.length() - 1); java.io.File folder = new java.io.File(outPathString + java.io.File.separator + szName); folder.mkdirs(); } else { java.io.File file = new java.io.File(outPathString + java.io.File.separator + szName); file.createNewFile(); // get the output stream of the file java.io.FileOutputStream out = new java.io.FileOutputStream(file); int len; byte[] buffer = new byte[1024]; // read (len) bytes into buffer while ((len = inZip.read(buffer)) != -1) { // write (len) byte from buffer at the position 0 out.write(buffer, 0, len); out.flush(); } out.close(); } } //end of while inZip.close(); } public static void unZipFolder(String zipFileString, String outPathString) throws Exception { unZipFolder(new java.io.FileInputStream(zipFileString), outPathString); } }