ZipInputStream使用代码如下:
package cn.lfsenior.zipout;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Decompression {
public static void main(String[] args) {
ZipInputStream zin;
try {
//创建你要解压的文件的File对象
File file_base=new File("E:\\hello.zip");
//获取解压的目标路径的基础目录
String path_base=file_base.getParent()+"\\"+file_base.getName().subSequence(0, file_base.getName().indexOf(".zip"));
//创建ZipInputStream对象
zin=new ZipInputStream(new FileInputStream(file_base));
//获取下一个ZinpEntry。这里获取一次是因为zip文件本身有一个“/”的ZipEntry对象,是使用不到的
ZipEntry entry=zin.getNextEntry();
while((entry=zin.getNextEntry())!=null){
//创建文件对对象
File file=new File(path_base+"\\"+entry.getName());
System.out.println(file);
//判断是否是文件夹
if(entry.isDirectory()){
//是创建文件夹
file.mkdirs();
}else{
//不是创建文件
if(!file.exists()){
file.createNewFile();
}
}
//关闭当前entry
zin.closeEntry();
System.out.println(entry.getName()+"解压成功");
}
zin.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}