博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正确的 zip 压缩与解压代码
阅读量:6448 次
发布时间:2019-06-23

本文共 1860 字,大约阅读时间需要 6 分钟。

网上流传的zip压缩与解压 的代码有非常大的问题 尽管使用了ant进行压缩与解压,可是任务的流程还是用的java.util.zip 的方式写的,我在使用的过程中遇到了压缩的文件夹结构有误,甚至出现不同解压软件显示的文件夹结构不同的窘境。

以下给出使用org.apache.tools.ant.taskdefs.Zip;和org.apache.tools.ant.taskdefs.Expand 的压缩和解压过程。

import java.io.File;import org.apache.tools.ant.BuildException;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;public class Zipper {	public final static String encoding = "GBK";	// 压缩	public static void zip(String srcPathname, String zipFilepath)			throws BuildException, RuntimeException {		File file = new File(srcPathname);		if (!file.exists())			throw new RuntimeException("source file or directory "					+ srcPathname + " does not exist.");		Project proj = new Project();		FileSet fileSet = new FileSet();		fileSet.setProject(proj);		// 推断是文件夹还是文件		if (file.isDirectory()) {			fileSet.setDir(file);			// ant中include/exclude规则在此都能够使用			// 比方:			// fileSet.setExcludes("**/*.txt");			// fileSet.setIncludes("**/*.xls");		} else {			fileSet.setFile(file);		}		Zip zip = new Zip();		zip.setProject(proj);		zip.setDestFile(new File(zipFilepath));		zip.addFileset(fileSet);		zip.setEncoding(encoding);		zip.execute();	}	// 解压缩	public static void unzip(String zipFilepath, String destDir)			throws BuildException, RuntimeException {		if (!new File(zipFilepath).exists())			throw new RuntimeException("zip file " + zipFilepath					+ " does not exist.");		Project proj = new Project();		Expand expand = new Expand();		expand.setProject(proj);		expand.setTaskType("unzip");		expand.setTaskName("unzip");		expand.setEncoding(encoding);		expand.setSrc(new File(zipFilepath));		expand.setDest(new File(destDir));		expand.execute();	}	public static void main(String []args){		unzip("D:\\123.zip","D:\\123");		zip("D:\\upload","D:\\upload.zip");	}}

 

转载地址:http://xqowo.baihongyu.com/

你可能感兴趣的文章
82%的IT专业人员认为Windows 10会让他们的公司更安全
查看>>
与美女CEO罗元裳共进午餐!朋友圈被7分钟理财刷屏!
查看>>
卡巴斯基网络安全解决方案实现自动化
查看>>
皮尤:62%美国成人从社交网站获取新闻
查看>>
Windows 10 Mobile内部编译版本已移除Silverlight支持
查看>>
“对外”SaaS蓝海:移动CRM最吸金
查看>>
反倾销半年涉案85亿 光伏出口或受影响
查看>>
图尔克推行户RFID设备控制器TBEN-L-DCC,可进行数据控制
查看>>
有了大数据的介入 以后考试可能都没法作弊了
查看>>
数据中心服务器虚拟化技术介绍
查看>>
要想做好软件测试工作,就要学会思考并问为什么
查看>>
qa应掌握的技能
查看>>
三部委:鼓励光伏项目进口先进技术和产品
查看>>
新进入者布局移动互联网形成有力挑战
查看>>
AOI 2016年第三季度数据中心光模块营收同增37%
查看>>
交换机引领多媒体时代 东进颠覆传统CTI
查看>>
三选一 软件定义存储技术总有一款适合你
查看>>
支付宝不做社交用户猛涨!第一季度日活大增40%
查看>>
Oracle单行函数和多行函数实例
查看>>
汤森路透拟35.5亿美元出售知识产权与科技业务
查看>>