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;
public class Package {
public static void main(String[] args) {
Package p1 = new Package();
String strDir1 = "f://Test";
String strDestFile1 = "f://test1.zip";
p1.pack(strDir1 ,strDestFile1);
Package p2 = new Package();
String strDir2 = "f://Test";
String strDestFile2 = "f://test2.zip";
String[] filenames2 = {"test1//test11//*" ,"test1//test12//*"};
p2.pack(strDir2 ,filenames2,strDestFile2);
}
/**
* 打包一个目录
* @param strDir 要打包的目录
* @param strDestFile 要打包的压缩文件路径
*/
public void pack(String strDir ,String strDestFile) {
pack(new File(strDir),new File(strDestFile));
}
/**
* 打包一个目录
* @param fDir 要打包的目录对象
* @param fDestFile 要打包的压缩文件对象
*/
public void pack(File fDir ,File fDestFile) {
Zip zip = new Zip();
zip.setProject(new Project());
zip.setTaskName("default");
zip.setBasedir(fDir);
zip.setDestFile(fDestFile);
zip.execute();
}
/**
* 打包一个目录下一定范围内的文件
* @param fDir 要打包的目录对象
* @param filenames 要包含的文件列表。是相对要打包目录的相对路径
* @param fDestFile 要打包的压缩文件对象
*/
public void pack(File fDir ,String[] filenames ,File fDestFile) {
Zip zip = new Zip();
zip.setProject(new Project());
zip.setTaskName("default");
zip.setDestFile(fDestFile);
FileSet fs = new FileSet();
fs.setDir(fDir);
for(int i = 0 ; i < filenames.length ; i++) {
fs.setIncludes(filenames[i]);
}
zip.addFileset(fs);
zip.execute();
}
/**
* 打包一个目录下一定范围内的文件
* @param strDir 要打包的目录对象
* @param filenames 要包含的文件列表。是相对要打包目录的相对路径
* @param strDestDir 要打包的压缩文件对象
*/
public void pack(String strDir ,String[] filenames ,String strDestDir) {
pack(new File(strDir) ,filenames ,new File(strDestDir));
}
/**
*
* @param strSrcZip
* @param strDestDir
*/
public void unpack(String strSrcZip ,String strDestDir) {
unpack(new File(strSrcZip) ,new File(strDestDir));
}
/**
*
* @param fSrcZip
* @param fDestDir
*/
public void unpack(File fSrcZip ,File fDestDir) {
Expand expand = new Expand();
expand.setProject(new Project());
expand.setSrc(fSrcZip);
expand.setDest(fDestDir);
expand.setOverwrite(true);
expand.execute();
}
}
|
相关推荐
Apache Ant 是一个开源的构建工具,它以XML格式定义项目构建过程,允许开发者通过编写构建文件来自动化软件构建任务。Ant的设计灵感来源于Make,但它在Java世界中扮演着类似的角色,尤其是在大型Java项目中,其灵活...
描述中提到的“java实现压缩文件文件夹”是指使用Java编程语言来执行文件和文件夹的压缩操作。Java标准库提供了一个名为`java.util.zip`的包,其中包含了一些类(如ZipOutputStream)用于创建ZIP格式的压缩文件。...
使用ANT的一大优势是其可扩展性,可以通过自定义任务或者使用已有的ANT贡献插件来满足特定的构建需求。 总结来说,这个Python程序gen1.py旨在简化Java开发中的ANT配置过程,通过自动分析项目结构和生成相应的build....
Ant的优势在于其灵活性和易用性,它使用XML(可扩展标记语言)来描述构建过程,这种描述性语言允许开发者定义编译源代码、运行测试、打包成JAR文件、部署到服务器等任务的具体步骤。 通过学习Ant,Java开发者可以...
Java编程式启动Ant是一种在Java程序中调用Apache Ant工具执行构建任务的方法。Apache Ant是一个基于Java的...通过理解Ant的构建文件结构和Java API的使用,我们可以实现复杂的构建逻辑,更好地管理Java项目的构建过程。
在Java编程环境中,批量文件打包成压缩文件是一个常见的需求,特别是在软件发布或数据传输时。Ant,一个由Apache基金会开发的构建工具,是实现这一功能的强大助手。本篇将详细介绍如何利用Java和Ant来实现批量文件的...
标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...
标题 "ANT打包的Aopallance" 暗示了我们正在讨论的是使用Apache Ant工具构建和打包Aopallance项目。Aopallance是一个基于Java的面向切面编程(AOP)框架,它允许开发者在不修改源代码的情况下,通过添加额外的逻辑(如...
Java编程中的Ant是一个重要的构建工具,它在Java开发领域扮演着不可或缺的角色。Ant以其灵活性、可配置性和自动化能力,使得项目构建过程变得高效且易于管理。Ant是Apache软件基金会的一个项目,因此它开源且免费,...
这涉及到了Java编程,以及对Ant的Task接口的理解和实现。 8. **宏定义与属性文件**:使用`<macrodef>`元素创建可重用的宏,以及如何从属性文件中读取配置信息,增强构建脚本的复用性和可维护性。 9. **依赖管理和...
### 编程常用工具Ant原理与使用入门 #### 一、Ant概述 ##### 1.1 Ant简介 Ant是一款开源的、跨平台的Java构建工具,最初由James Duncan Davidson创建并发布于1998年。它之所以被称为“Ant”,是因为这个名字是...
Ant的核心概念是构建文件,通常命名为`build.xml`,它定义了一系列的构建任务,如编译源代码、打包JAR文件、运行测试等。在Ant 1.6.5中,开发者可以利用这个版本提供的丰富任务来实现各种复杂的构建流程。例如,`...
例如,你可以使用ant.jar来编译源代码、创建类路径、打包JAR文件,甚至运行单元测试。这个库是使用Ant进行项目构建的基础,几乎所有的Ant任务都依赖于它。 2. ant-junit.jar:此文件扩展了Ant的功能,使其能够集成...
4. **创建JAR文件**:使用`<jar>`任务,可以将编译后的.class文件和资源文件打包成JAR。还可以通过`<manifest>`子元素指定MANIFEST.MF文件,添加版本信息、主类等。 5. **混淆代码**:如果需要,可以集成ProGuard或...
在这个场景中,我们使用了Java来实现文件夹的打包功能,并且依赖了Apache Ant库的`ant.jar`,这是一个强大的构建工具,提供了许多用于处理文件操作的API。 Java标准库虽然内置了`java.util.zip`包,可以用于创建ZIP...
Ant通过XML文件(通常称为build.xml)来描述构建过程,包括编译、打包、测试等任务。Apache-ant-1.9.1-bin.zip是Ant的二进制发行版,包含了运行Ant所需的所有文件。 Apache Maven 是另一种流行的Java项目管理工具,...
在Java开发中,Apache Ant是一个广泛应用的自动化构建工具,它允许开发者通过XML配置文件来定义构建任务,如编译、打包、测试等。在某些场景下,我们需要将项目文件通过FTP(File Transfer Protocol)协议上传到远程...
Ant不仅仅是一个简单的命令行工具,它依赖于一系列的库文件,包括Apache Commons库、JAR文件和其他第三方库,这些库提供了各种功能,如文件操作、网络通信等。 "ant-contrib-1.0b2"是Ant的一个扩展库,名为Ant ...
Ant是一种流行的Java构建工具,它使用XML格式的构建文件(build.xml)来定义一系列的任务,如编译、打包、测试等,以自动化软件开发过程。Ant的主要优点是它的灵活性和可扩展性,可以根据项目的特定需求定制构建流程...