`
aijuans8
  • 浏览: 187195 次
社区版块
存档分类
最新评论

使用对Ant编程来实现简单文件的打包

 
阅读更多

使用对Ant编程来实现简单文件的打包

kongxx

Ant是我们熟悉的Java构建工具,通常我们使用Ant是通过build.xml文件来实现任务的调用,其实不仅如此,我们还也可以通过编程的方式来实现任务调用,从而简化我们的开发。以下是我很久以前写的一个关于使用Ant打包文件的程序片段,最近做东西又翻了出来,简单整理了一下,程序片段如下:

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();

}

}

从代码看仅仅几行代码就解决了原来我们需要写得几十行代码,其实Ant还可以替我们完成许多工作,仅仅通过很少的代码,就可以实现,那何乐而不为呢。

分享到:
评论

相关推荐

    以编程方式调用 Apache Ant

    Apache Ant 是一个开源的构建工具,它以XML格式定义项目构建过程,允许开发者通过编写构建文件来自动化软件构建任务。Ant的设计灵感来源于Make,但它在Java世界中扮演着类似的角色,尤其是在大型Java项目中,其灵活...

    ant-1.9.7jar包 java实现压缩文件文件夹

    描述中提到的“java实现压缩文件文件夹”是指使用Java编程语言来执行文件和文件夹的压缩操作。Java标准库提供了一个名为`java.util.zip`的包,其中包含了一些类(如ZipOutputStream)用于创建ZIP格式的压缩文件。...

    生成ANT所需要的Build,xml文件

    使用ANT的一大优势是其可扩展性,可以通过自定义任务或者使用已有的ANT贡献插件来满足特定的构建需求。 总结来说,这个Python程序gen1.py旨在简化Java开发中的ANT配置过程,通过自动分析项目结构和生成相应的build....

    使用Ant进行java开发

    Ant的优势在于其灵活性和易用性,它使用XML(可扩展标记语言)来描述构建过程,这种描述性语言允许开发者定义编译源代码、运行测试、打包成JAR文件、部署到服务器等任务的具体步骤。 通过学习Ant,Java开发者可以...

    java编程式启动ant

    Java编程式启动Ant是一种在Java程序中调用Apache Ant工具执行构建任务的方法。Apache Ant是一个基于Java的...通过理解Ant的构建文件结构和Java API的使用,我们可以实现复杂的构建逻辑,更好地管理Java项目的构建过程。

    java压缩批量文件打包

    在Java编程环境中,批量文件打包成压缩文件是一个常见的需求,特别是在软件发布或数据传输时。Ant,一个由Apache基金会开发的构建工具,是实现这一功能的强大助手。本篇将详细介绍如何利用Java和Ant来实现批量文件的...

    ant编译java工程

    标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...

    ANT打包的Aopallance

    标题 "ANT打包的Aopallance" 暗示了我们正在讨论的是使用Apache Ant工具构建和打包Aopallance项目。Aopallance是一个基于Java的面向切面编程(AOP)框架,它允许开发者在不修改源代码的情况下,通过添加额外的逻辑(如...

    java编程宝贝之ant大神

    Java编程中的Ant是一个重要的构建工具,它在Java开发领域扮演着不可或缺的角色。Ant以其灵活性、可配置性和自动化能力,使得项目构建过程变得高效且易于管理。Ant是Apache软件基金会的一个项目,因此它开源且免费,...

    Apache Ant 使用指南

    这涉及到了Java编程,以及对Ant的Task接口的理解和实现。 8. **宏定义与属性文件**:使用`&lt;macrodef&gt;`元素创建可重用的宏,以及如何从属性文件中读取配置信息,增强构建脚本的复用性和可维护性。 9. **依赖管理和...

    编程常用工具Ant原理与使用入门

    ### 编程常用工具Ant原理与使用入门 #### 一、Ant概述 ##### 1.1 Ant简介 Ant是一款开源的、跨平台的Java构建工具,最初由James Duncan Davidson创建并发布于1998年。它之所以被称为“Ant”,是因为这个名字是...

    ant-1.6.5.jar.zip

    Ant的核心概念是构建文件,通常命名为`build.xml`,它定义了一系列的构建任务,如编译源代码、打包JAR文件、运行测试等。在Ant 1.6.5中,开发者可以利用这个版本提供的丰富任务来实现各种复杂的构建流程。例如,`...

    ant.jar,ant-junit.jar,ant-launcher.jar,ant-trax.jar

    例如,你可以使用ant.jar来编译源代码、创建类路径、打包JAR文件,甚至运行单元测试。这个库是使用Ant进行项目构建的基础,几乎所有的Ant任务都依赖于它。 2. ant-junit.jar:此文件扩展了Ant的功能,使其能够集成...

    ant 打包环境

    4. **创建JAR文件**:使用`&lt;jar&gt;`任务,可以将编译后的.class文件和资源文件打包成JAR。还可以通过`&lt;manifest&gt;`子元素指定MANIFEST.MF文件,添加版本信息、主类等。 5. **混淆代码**:如果需要,可以集成ProGuard或...

    java 文件夹打包 zip

    在这个场景中,我们使用了Java来实现文件夹的打包功能,并且依赖了Apache Ant库的`ant.jar`,这是一个强大的构建工具,提供了许多用于处理文件操作的API。 Java标准库虽然内置了`java.util.zip`包,可以用于创建ZIP...

    maven ant thrift0.9.0

    Ant通过XML文件(通常称为build.xml)来描述构建过程,包括编译、打包、测试等任务。Apache-ant-1.9.1-bin.zip是Ant的二进制发行版,包含了运行Ant所需的所有文件。 Apache Maven 是另一种流行的Java项目管理工具,...

    ant实现ftp上传需要的jar包

    在Java开发中,Apache Ant是一个广泛应用的自动化构建工具,它允许开发者通过XML配置文件来定义构建任务,如编译、打包、测试等。在某些场景下,我们需要将项目文件通过FTP(File Transfer Protocol)协议上传到远程...

    ant lib ant 所有lib包

    Ant不仅仅是一个简单的命令行工具,它依赖于一系列的库文件,包括Apache Commons库、JAR文件和其他第三方库,这些库提供了各种功能,如文件操作、网络通信等。 "ant-contrib-1.0b2"是Ant的一个扩展库,名为Ant ...

    Ant+Junit+Svn实现自动单元测试

    Ant是一种流行的Java构建工具,它使用XML格式的构建文件(build.xml)来定义一系列的任务,如编译、打包、测试等,以自动化软件开发过程。Ant的主要优点是它的灵活性和可扩展性,可以根据项目的特定需求定制构建流程...

Global site tag (gtag.js) - Google Analytics