您的位置:首页 > 编程语言 > Java开发

java 压缩和解压缩ZIP文件

2018-04-03 12:52 302 查看
Pon文件引入依赖

<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.7</version>
</dependency>


压缩

/**
* 压缩文雅为ZIP
* @param zipFilePath 压缩的文件完整名称(目录+文件名)
* @param srcPathName
*/
public static void compressFiles(String zipFilePath, String srcPathName) {
//压缩完成后的文件目录+文件名
File zipFile = new File(zipFilePath);
//源文件目录
File srcdir = new File(srcPathName);
if (!srcdir.exists()){
throw new ServiceException(srcPathName + "不存在!");
}
Project prj = new Project();
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
if(srcdir.isDirectory()) { //是目录
fileSet.setDir(srcdir);
fileSet.setIncludes("*.sql"); //包括哪些文件或文件夹 eg:zip.setIncludes("*.java");
fileSet.setIncludes("*.ktr");
fileSet.setIncludes("*.kjb");
//fileSet.setExcludes(...); //排除哪些文件或文件夹
} else {
fileSet.setFile(srcdir);
}
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
zip.setEncoding("gbk"); //以gbk编码进行压缩,注意windows是默认以gbk
b4e2
编码进行压缩的
zip.addFileset(fileSet);
zip.execute();
}


解压缩

/**
*
* @param sourceZip 源文件路径
* @param destDir 解压路径
*/
public static void unzip(String sourceZip,String destDir){
File file=new File(sourceZip);
if(!file.exists()){
throw new ServiceException("压缩文件不存在");
}
Project p=new Project();
Expand e=new Expand();
e.setProject(p);
e.setSrc(new File(sourceZip));
e.setOverwrite(false);
e.setDest(new File(destDir));
e.setEncoding("gbk");
e.execute();
//解压完成后 删除压缩文件
file.delete();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: