org.apache.ant实现压缩和解压
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.7</version>
</dependency>
Java
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"; /**
* 压缩文件和文件夹
*
* @param srcPathname 需要被压缩的文件或文件夹路径
* @param zipFilepath 将要生成的zip文件路径
* @throws BuildException
* @throws RuntimeException
*/
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(); System.out.println("compress successed.");
} /**
* 解压缩文件和文件夹
*
* @param zipFilepath 需要被解压的zip文件路径
* @param destDir 将要被解压到哪个文件夹
* @throws BuildException
* @throws RuntimeException
*/
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(); System.out.println("uncompress successed.");
} }
org.apache.ant实现压缩和解压的更多相关文章
- java实现文件的压缩和解压
		java实现文件的压缩和解压 代码压缩实现 package com.hjh.demo.zip; import java.io.BufferedInputStream; import java.io.F ... 
- hadoop压缩和解压
		最近有一个hadoop集群上的备份需求.源文件有几百G,如果直接复制太占用磁盘空间.将文件从hadoop集群下载到本地,压缩之后再上传到hadoop则太耗时间.于是想到能否直接在HDFS文件系统上进行 ... 
- 【C#公共帮助类】WinRarHelper帮助类,实现文件或文件夹压缩和解压,实战干货
		关于本文档的说明 本文档使用WinRAR方式来进行简单的压缩和解压动作,纯干货,实际项目这种压缩方式用的少一点,一般我会使用第三方的压缩dll来实现,就如同我上一个压缩类博客,压缩的是zip文件htt ... 
- C#文件或文件夹压缩和解压方法(通过ICSharpCode.SharpZipLib.dll)
		我在网上收集一下文件的压缩和解压的方法,是通过ICSharpCode.SharpZipLib.dll 来实现的 一.介绍的目录 第一步:下载压缩和解压的 ICSharpCode.SharpZipLib ... 
- java 文件压缩和解压(ZipInputStream, ZipOutputStream)
		最近在看java se 的IO 部分 , 看到 java 的文件的压缩和解压比较有意思,主要用到了两个IO流-ZipInputStream, ZipOutputStream,不仅可以对文件进行压缩,还 ... 
- C#实现通过Gzip来对数据进行压缩和解压
		C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ... 
- linux常用命令:4文件压缩和解压命令
		文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ... 
- .net文件压缩和解压及中文文件夹名称乱码问题
		/**************************注释区域内为引用http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html的博 ... 
- linux下文件加密压缩和解压的方法
		一.用tar命令 对文件加密压缩和解压 压缩:tar -zcf - filename |openssl des3 -salt -k password | dd of=filename.des3 此命 ... 
随机推荐
- 最近看了关于java的几条帖子,写的不错,总结了一下
			1.最开始写代码,例如C语言(“一次编写,到处编译”)都是经过编译后生成汇编码,直接在cpu上执行. 因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不通类型的cpu所能执 ... 
- USACO training course Number Triangles 数塔 /// DP oj10122
			题目大意: ...就是数塔 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 7+3+8+7+5=30 ... 
- C# SQL 多条件查询技巧
			#region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneN ... 
- CSS清除默认边距
			body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquo ... 
- Geoserver的跨域问题
			使用tomcat访问Geoserver服务的时候,只调服务没问题,但是查询要素属性的时候出现如下“XMLHttpRequest”.“not allowed by Access-Control-Allo ... 
- Python数据格式化
			Python有两种格式化字符串的方式,使用%或者使用内置format()函数. 使用%格式化字符串 在Python中使用%来格式化字符串,用法和效果类似于C语言中的%.格式为:%特定的转换类型 %da ... 
- 笔记:Python操作sql
			python操作mysql步骤: 创建connect连接 conn = connect(host='127.0.0.1', port=3306, user='root', password='1234 ... 
- 线性回归和梯度下降代码demo
			程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8 ... 
- iOS之CAEmitterLayer粒子引擎
			1.CAEmitterCell粒子发射器的相关属性: /* CoreAnimation - CAEmitterLayer.h Copyright (c) 2007-2017, Apple Inc. A ... 
- day 46 Javascript学习
			Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScri ... 
