java文件压缩二

在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();
	}
}



 

你可能感兴趣的:(java,apache,ant,文件压缩)