java 使用Apache ant.jar压缩解压zip–一种简单的实现

java 使用Apache ant.jar压缩解压zip–一种简单的实现packagecom.test;importjava.io.File;importorg.apache.tools.ant.Project;importorg.apache.tools.ant.taskdefs.Expand;importorg.apache.tools.ant.taskdefs.Zip;importorg.apache.tools.ant.types.F

package com.test;

import java.io.File;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;


/**
 * 利用Apache ant.jar中的ant包进行Zip压缩和解压
 * 这个更为简单
 */
public class ZipUtil {

	public static void main(String[] args) {
		
//		jzb.zip("d:/Workspaces", "d:/upload.zip");
		
		unZip("d:/a", "d:/a/a.zip");
	}
	
	/**
	 * 解压缩
	 * @param destDir 生成的目标目录下   c:/a
	 * @param sourceZip 源zip文件      c:/upload.zip
	 * 结果则是 将upload.zip文件解压缩到c:/a目录下
	 */
	public static void unZip(String destDir,String sourceZip){
	
		Project prj1 = new Project();
		
		Expand expand = new Expand();
		
		expand.setProject(prj1);
		
		expand.setSrc(new File(sourceZip));
		
		expand.setOverwrite(false);//是否覆盖

		File file = new File(destDir);
		
		if(!file.exists())file.mkdir();
		
		expand.setDest(file);
		
		expand.execute();
	}


	/**
	 * 压缩
	 * 
	 * @param sourceFile
	 *            压缩的源文件 如: c:/upload
	 * @param targetZip
	 *            生成的目标文件 如:c:/upload.zip
	 */
	public static void zip(String sourceFile,String targetZip){
		
		  Project prj = new Project();
		  
		  Zip zip = new Zip();
		  
		  zip.setProject(prj);
		  
		  zip.setDestFile(new File(targetZip));//设置生成的目标zip文件File对象
		  
		  FileSet fileSet = new FileSet();
		  
		  fileSet.setProject(prj);
		  
		  fileSet.setDir(new File(sourceFile));//设置将要进行压缩的源文件File对象
		  
		  //fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹,只压缩目录中的所有java文件
		  
		  //fileSet.setExcludes("**/*.java"); //排除哪些文件或文件夹,压缩所有的文件,排除java文件
		  
		  zip.addFileset(fileSet);

		  zip.execute();

	}
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35097.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注