/**
* Created by pailiao on 2016/1/8.
* 用的是org.apache.tools.ant ant包
*/
public class ZipUtils {
/**
*
* @param inFile 要压缩的文件 /storage/emulated/0/Dabaixiong/125_天安门_160106
* @param outFile 输出的压缩文件
*/
public static void zipFiles(File inFile,File outFile){
Project pro = new Project();
Zip zip = new Zip();
zip.setEncoding("UTF-8");
zip.setBasedir(inFile.getParentFile());
String strInFile=String.valueOf(inFile).substring(String.valueOf(inFile).lastIndexOf("/")+1);
strInFile= strInFile.replaceAll("[\u4e00-\u9fa5]+", "*");
zip.setIncludes(new StringBuilder().append(strInFile).append("/**").toString());
zip.setDestFile(outFile);
zip.setProject(pro);
zip.execute();
}
/**
*
* @param listFiles 要压缩的文件夹列表 针对于同一目录下的多个文件夹
* @param outFile 输出的压缩文件
*/
public static void zipListFiles(ArrayList<File> listFiles,File outFile){
Project pro = new Project();
Zip zip = new Zip();
zip.setEncoding("UTF-8");
zip.setBasedir(listFiles.get(0).getParentFile());
String includes="";
for(File file:listFiles){
String strInFile;
strInFile=String.valueOf(file).substring(String.valueOf(file)
.lastIndexOf("/")+1);
strInFile= strInFile.replaceAll("[\u4e00-\u9fa5]+", "*");
includes=new StringBuilder(includes).append(strInFile).append("/**").append(",").toString();
}
includes=includes.substring(0,includes.length()-1);
zip.setIncludes(includes);
zip.setDestFile(outFile);
zip.setProject(pro);
zip.execute();
}
/**
* 解压
* @param fileName
* @param destFilePath
* @throws Exception
*/
public static void unZip(String fileName, String destFilePath)
throws Exception {
Project project = new Project();
Expand ex = new Expand();
ex.setSrc(new File(fileName));
ex.setDest(new File(destFilePath));
ex.setProject(project);
ex.setOverwrite(true);
ex.execute();
}
/***
* 复制文件
* @param src
* @param destDir
* @throws Exception
*/
public static void copyToDir(File src , File destDir)throws Exception{
Project project = new Project();
Copy cp = new Copy();
cp.setFile(src);
cp.setTodir(destDir);
cp.setOverwrite(true);
cp.setProject(project);
cp.execute();
}
}