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

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

	}
}


 

发布了234 篇原创文章 · 获赞 227 · 访问量 95万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览