java文件压缩二

来源:互联网 发布:linux自检 编辑:程序博客网 时间:2024/06/05 09:42

在java文件压缩中使用的是org.apache.tools.zip.ZipOutputStream,本文使用org.apache.tools.ant.taskdefs.Zip来进行压缩,更方便,同样支持中文无乱码,代码如下:

测试类Test:

package com.home;import java.io.IOException;public class Test {public Test() {try {ZipUtil.zip("D://test", "D://test1.zip");// 压缩整个文件来ZipUtil.zip("D://test.doc", "D://test2.zip");// 压缩单个文件} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {new Test();}}

压缩工具类ZipUtil:

package com.home;import java.io.File;import java.io.IOException;import org.apache.tools.ant.Project;import org.apache.tools.ant.taskdefs.Zip;import org.apache.tools.ant.types.FileSet;public class ZipUtil {public static void zip(String src, String des) throws IOException {File srcFile = new File(src);// 源文件File desFile = new File(des);// 目标zip文件Project project = new Project();Zip zip = new Zip();zip.setProject(project);zip.setDestFile(desFile);FileSet fileSet = new FileSet();fileSet.setProject(project);if (srcFile.isFile()) {fileSet.setFile(srcFile);} else if (srcFile.isDirectory()) {fileSet.setDir(srcFile);}// fileSet.setIncludes("**/*.java"); //包含哪些文件或文件夹// eg:zip.setIncludes("*.java")// fileSet.setExcludes(...); //排除哪些文件或文件夹zip.addFileset(fileSet);zip.execute();}}



 

0 0