用可以用ant中的org.apache.tools.ant.taskdefs.Zip来实现对文件或文件夹的zip压缩。
package com.qianxin.myUtil;
import java.io.File;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
public class ZipCompressorByAnt {
private File zipFile;
/**
* 构造方法
*
* @param pathName
* 目标zip文件路径
*/
public ZipCompressorByAnt(String pathName) {
zipFile = new File(pathName);
}
/**
* 压缩成zip文件
*
* @param srcPathName
* 原文件或文件夹路径
*/
public void compress(String srcPathName) {
File srcdir = new File(srcPathName);
if (!srcdir.exists())
throw new RuntimeException(srcPathName + "不存在!");
Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
// fileSet.setIncludes("**/*.java"); 包括哪些文件或文件夹
// eg:zip.setIncludes("*.java");
// fileSet.setExcludes(...); 排除哪些文件或文件夹
zip.addFileset(fileSet);
zip.execute();
}
}
更多方法见原文:
http://blog.163.com/shanqing_shuixiu@yeah/blog/static/165319229201192444434865/