java 解压与压缩文件夹的实例详解
注意:JDK7支持设置编码设置编码格式 zipFile,zipInputStream,zipOutputStream都增加了编码格式,如果是jdk1.6需要其他的包辅助
下面为自带jdk压缩文件夹代码:
public void dozip(String srcfile, String zipfile) throws IOException {
String temp = "";
File src = new File(srcfile);
File zipFile=new File(zipfile);
//判断要压缩的文件存不存在
if (!src.exists()) {
System.err.println("要压缩的文件不存在!");
System.exit(1);
}
//如果说压缩路径不存在,则创建
if (!zipFile.getParentFile().exists()) {
zipFile.getParentFile().mkdirs();
// System.out.println("创建ok");
}
// 封装压缩的路径
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(zipfile));
//这里可以加入校验
//CheckedOutputStream cos = new CheckedOutputStream(bos,new CRC32());
//还可以设置压缩格式,默认UTF-8
Charset charset = Charset.forName("GBK");
ZipOutputStream zos = new ZipOutputStream(bos,charset);
zip(src, zos, temp);
//关闭流
zos.flush();
zos.close();
System.out.println("压缩完成!");
System.out.println("压缩文件的位置是:" + zipfile);
// System.out.println("检验和:"+cos.getChecksum().getValue());
}
private void zip(File file, ZipOutputStream zos, String temp)
throws IOException {
// 如果不加"/"将