要依赖
ant.1.7.0.jar
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
</exclusion>
</exclusions>
</dependency>
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
/**
* ZIP格式文件压缩/解压工具类
*
* @author 应卓
*
*/
public final class ZipUtils {
/**
* 私有构造方法
*/
private ZipUtils() {
super();
}
/**
* 压缩zip文件
*
* @param directory 压缩目录
* @param dest 压缩后的zip文件
* @param encoding 字符编码
*/
public static void compress(File directory, File dest, String encoding) {
compress(directory, dest, encoding, null, null);
}
/**
* 压缩zip文件
*
* @param directory 压缩目录
* @param dest 压缩后的zip文件
* @param encoding 字符编码
* @param includes 包含表达式(ant风格,逗号分隔)
* @param excludes 排除表达式(ant风格,逗号分隔)
*/
public static void compress(File directory, File dest, String encoding, String includes, String excludes) {
if (directory == null) {
throw new NullPointerException("'directory' must not be null");
}
if (! directory.exists()) {
throw new IllegalArgumentException("'directory' dose not exists");
}
if (directory.isFile()) {
throw new IllegalArgumentException("'directory' is not a directory'");
}
if (dest == null) {
throw new NullPointerException("'dest' must not be null");
}
if (dest.isDirectory()) {
throw new IllegalArgumentException("'dest' is not a file'");
}
Project project = new Project();
Zip zip = new Zip();
zip.setEncoding(encoding);
zip.setProject(project);
zip.setDestFile(dest);
FileSet fileSet = new FileSet();
fileSet.setProject(project);
fileSet.setDir(directory);
if (null != includes) {
fileSet.setIncludes(includes);
}
if (null != excludes) {
fileSet.setExcludes(excludes);
}
zip.addFileset(fileSet);
zip.execute();
}
}
分享到:
相关推荐
Swift 实现 Zip 压缩和解压缩的库.zip,用于压缩和解压缩文件的swift框架。
wince下ZIP压缩和解压缩的源码 非常精简哦
Swift 实现 Zip 压缩和解压缩的库
zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。 Java I/O类库还收录了一些能读写压缩格式流...
用ant实现了zip的压缩和解压缩,非常好用,非常简单!经过了n次测试!
压缩和解压缩类,添加到项目就可以了。方法直接传参数就可以完成压缩和解压缩。 注意的是必须用ZIP压缩工具压缩的文档才能解压。改后缀是不行的。
字符串zip压缩和解压缩的功能源码,源码zipAndUnzip,iOS上进行字符串的zip压缩和解压缩,不是文件哦,喜欢的朋友可以看看先。this is zip string or unzip data.
一个在iOS使用ZipArchive实现压缩和解压缩文件的demo
java zip压缩和解压缩文件,附带ant.jar
压缩成zip文件和解压缩zip文件的VB程序.rar
实现将文件压缩为zip文件和解压缩zip文件
python 实现压缩和解压缩zip文件
我的邮编控制台 MyZipConsole 是一个使用 Qt 4 和的简单压缩和解压缩命令行工具。 这是我为 C 编程课程设计所做的工作。
zip.js是什么 zip.js的github项目地址:http://gildas-lormeau.github.io/zip.js/ 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在网页中创建包含文件夹和文件的压缩包,也可以自定义名字并下载; ...
只需要包含头文件,就可以进行文件的压缩和解压缩。可查看readme 或者文件中demo 简单易用。
java中如何实现压缩和解压缩,zip,unzip,java中如何实现压缩和解压缩,zip,unzip
java 压缩和解压缩为zip文件 有测试类,可以直接测试。效果还不错,现网已经运行好长时间了
图形用户界面 MyZipGUI 是一个使用 Qt 4 和的简单 zip GUI 客户端,就像 WinZip 的一个小版本。 这是我为 C 编程课程设计所做的工作。
Java标准库的java.util.zip包通常适用于简单的ZIP格式压缩与解压缩,Apache Commons Compress和Java Zip4j提供了更多的压缩格式和功能选项。对于大型数据集和高性能要求的场景,还可以考虑使用专门的压缩工具或算法...