ZipFileUtil.java
import java.util.zip.*;
import java.util.*;
import java.io.*;
public class ZipFileUtil
{
public static void unzipFileIntoDirectory(final ZipFile zipFile, final File jiniHomeParentDir) {
final Enumeration files = zipFile.entries();
File f = null;
FileOutputStream fos = null;
while (files.hasMoreElements()) {
try {
final ZipEntry entry = files.nextElement();
final InputStream eis = zipFile.getInputStream(entry);
final byte[] buffer = new byte[1024];
int bytesRead = 0;
f = new File(String.valueOf(jiniHomeParentDir.getAbsolutePath()) + File.separator + entry.getName());
if (entry.isDirectory()) {
f.mkdirs();
}
f.getParentFile().mkdirs();
f.createNewFile();
fos = new FileOutputStream(f);
while ((bytesRead = eis.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if (fos != null) {
try {
fos.close();
}
catch (IOException ex) {}
}
}
if (fos != null) {
try {
fos.close();
}
catch (IOException ex2) {}
}
}
}
}