要依赖
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 语言在开发 iOS、macOS、watchOS 和 tvOS 应用时提供了丰富的功能,但原生标准库并未包含对 ZIP 压缩和解压缩的直接支持。因此,开发者通常会借助第三方库来实现这一功能。"Swift 实现 Zip 压缩和解压缩的库....
`swift-Swift实现Zip压缩和解压缩的库`这个主题就是关于如何在Swift中利用第三方库来执行这些任务。 在Swift中,有一个名为`Zip`的开源库,由开发者Marmelroy维护。这个库提供了简单易用的API,使得在Swift项目中...
在Windows CE(简称WinCE)环境下,开发人员经常需要处理ZIP文件的压缩和解压缩操作。ZIP是一种广泛使用的文件归档格式,它允许将多个文件和目录打包成一个单一的可传输或存储的文件。本篇文章将深入探讨在WinCE系统...
本篇文章将深入探讨如何使用Ant实现ZIP文件的压缩和解压缩。 首先,Ant是基于XML的,因此我们需要在项目中创建一个名为`build.xml`的配置文件,这个文件包含了所有构建任务的定义。对于ZIP压缩,我们可以使用`<zip>...
zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。 Java I/O类库还收录了一些能读写压缩格式流...
对于C#开发者来说,理解如何利用.NET框架中的库来实现ZIP压缩和解压缩功能是十分重要的。本篇文章将详细探讨基于C#实现的ZIP压缩与解压缩包装类,并提供相关的源码和实例程序。 ZIP是一种广泛使用的文件格式,它...
在编程中实现ZIP压缩和解压缩,可以使用开源库如Java的`java.util.zip`包,C#的`System.IO.Compression`命名空间,或者Python的`zipfile`模块。这些库已经实现了ZIP格式和Deflate算法,开发者只需要调用相应的API...
在VB6.0编程环境中,开发人员经常需要处理文件的压缩和解压缩操作,以便于存储、传输或者备份数据。本篇文章将详细讲解如何利用VB6.0源代码调用RAR压缩软件,来实现对指定图片文件(如"pic.bmp")的压缩和解压功能。...
压缩和解压缩类,添加到项目就可以了。方法直接传参数就可以完成压缩和解压缩。 注意的是必须用ZIP压缩工具压缩的文档才能解压。改后缀是不行的。
在Java编程语言中,我们...总的来说,Java中的ZIP压缩和解压缩功能强大且易于使用,是开发人员处理文件压缩需求的首选工具。通过熟练掌握`java.util.zip`包,你可以轻松地在Java应用程序中实现文件的压缩和解压缩功能。
这个压缩包提供的是一套基于C++实现的ZIP压缩和解压缩工程源代码,它支持通过JSON格式的字符串来处理多个文件或目录的压缩与解压缩操作。这对于数据传输、备份或者存储优化等场景非常实用。 首先,我们要理解ZIP...
本文将深入探讨基于C++实现的WinCE系统上的ZIP压缩和解压缩源代码,以及相关的关键知识点。 首先,我们要理解ZIP是一种广泛使用的文件压缩格式,它能够将多个文件打包成一个单一的ZIP档案,同时进行压缩,节省存储...
JavaScript实现的zip压缩和解压缩工具包Zip.js使用详解 Zip.js是一款用JavaScript编写的前端压缩和解压缩库,它允许开发者在不依赖后端的情况下,在网页端直接创建ZIP格式的压缩文件。这在许多应用场景中非常实用,...
- `zipdll.dll` 是核心的动态链接库文件,其中包含了实现ZIP压缩和解压缩功能的函数。 - `zipdll.lib` 是静态库文件,通常用于编译链接阶段,为编译器提供关于DLL函数的导入信息。 - `ReadMe.txt` 很可能是包含了...
这里我们将详细探讨zip压缩和解压缩的核心原理以及如何在这些技术栈中应用它们。 首先,zip是一种广泛使用的文件格式,用于将多个文件和目录打包成一个单一的可压缩文件。它采用了一种叫做Deflate的压缩算法,该...
在C#编程环境中,处理文件压缩和解压缩是常见的任务,尤其在数据传输、存储优化等...以上就是关于C#实现ZIP压缩和解压缩的主要知识点。理解并掌握这些内容,开发者就能灵活地在C#项目中实现文件的压缩和解压缩功能。
字符串zip压缩和解压缩的功能源码,源码zipAndUnzip,iOS上进行字符串的zip压缩和解压缩,不是文件哦,喜欢的朋友可以看看先。this is zip string or unzip data.
本文将详细介绍如何使用ZipArchive进行文件的压缩和解压缩。 ### 1. ZipArchive简介 ZipArchive是一个Objective-C类库,专门用于处理ZIP档案。它支持创建新的ZIP文件、添加文件到已有的ZIP文件以及从ZIP文件中提取...
MyZipConsole的核心功能是对文件和文件夹进行zip压缩和解压缩。在C++中,可以使用第三方库如zlib或minizip来实现ZIP格式的处理。zlib是基础的压缩库,提供了数据压缩和解压缩功能,而minizip则在其之上提供了对ZIP...
在本篇文章中,我们将深入探讨如何利用SQL Server CLR实现数据的ZIP压缩和解压缩,以及其背后的原理和优势。 首先,理解CLR是什么至关重要。CLR是.NET Framework的一部分,它为托管代码提供了运行时环境,包括内存...