Mega Code Archive

 
Categories / Java / File Input Output
 

Unzip file to a directory

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class Utils {   public static void unzip(File srcFile, File destDir) throws IOException {     InputStream input = null;     OutputStream output = null;     ZipFile zipfile = new ZipFile(srcFile);     Enumeration zipEntries = zipfile.entries();     while (zipEntries.hasMoreElements()) {       ZipEntry entry = (ZipEntry) zipEntries.nextElement();       if (entry.isDirectory()) {         new File(destDir, entry.getName()).mkdir();         continue;       }       input = new BufferedInputStream(zipfile.getInputStream(entry));       File destFile = new File(destDir, entry.getName());       FileOutputStream fos = new FileOutputStream(destFile);       output = new BufferedOutputStream(fos);       copyStreams(input, output);       input.close();       output.flush();       output.close();     }   }   private static void copyStreams(InputStream input, OutputStream output) throws IOException {     int count;     byte data[] = new byte[1024];     while ((count = input.read(data, 0, 1024)) != -1) {       output.write(data, 0, count);     }   } }