package StreamZipPrintDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Demo3 {
//解压文件
public static void main(String[] args) throws IOException {
File f = new File("D:\\Desktop\\images.zip");
File f2 = new File("D:\\Desktop");
unzip(f, f2);
}
private static void unzip(File f, File f2) throws IOException {
//创建对象,读取数据
ZipInputStream zip = new ZipInputStream(new FileInputStream(f));
//获取压缩文件值
ZipEntry entry;
while ((entry = zip.getNextEntry()) != null) {
System.out.println(entry);
//如果是文件夹
if (entry.isDirectory()) {
File f1 = new File(f2, entry.getName());
f1.mkdirs();
}
//如果是文件
else {
int len;
FileOutputStream fos = new FileOutputStream(new File(f2, entry.getName()));
while ((len = zip.read()) != -1) {
fos.write((char) len);
}
fos.close();
zip.closeEntry();
}
}
zip.close();
}
}