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);
}
}
}
|