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.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
public class ZipUtil {
public static void unzip(String zipFile){
//
File file = new File(zipFile);
if(!file.exists() || !file.isFile()){
return;
}
//
String basePath = file.getParent();
//
int buffersize = 1024;
int count = 0;
//
byte[] buffer = new byte[buffersize];
try {
// Zip
ZipFile zfile = new ZipFile(file);
// Zip
Enumeration<ZipEntry> zips = (Enumeration<ZipEntry>) zfile.entries();
// Zip
while(zips.hasMoreElements()){
//
ZipEntry entry = zips.nextElement();
//
String name = entry.getName();
//
String filePath = basePath + File.separator + name;
// zip
if(entry.isDirectory()){
System.out.println("isDirectory");
File path = new File(filePath);
if(!path.exists()){
path.mkdir();
}
continue;
}
//
InputStream in = zfile.getInputStream(entry);
//
BufferedInputStream bis = new BufferedInputStream(in);
//
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
//
while((count = bis.read(buffer, 0, buffersize)) != -1){
bos.write(buffer, 0, count);
}
//
bos.flush();
bos.close();
bos.close();
}
//
zfile.close();
} catch (ZipException e) {
} catch (IOException e) {
}
}
public static void main(String[] args) {
ZipUtil.unzip("E:\\pics.zip");
}
}