代码改变世界

Ant tutorial(3)

2006-03-09 09:17  Jeff  阅读(364)  评论(0编辑  收藏  举报
Ant用于有关文件的操作

1)创建目录:

  <mkdir dir="archive/metals/zinc"/>

我们能够同样容易地使用 \,而不管平台是什么 —— Ant 能够处理任一种形式,甚至能够处理两种形式的混合。

mkdir 任务的另一个有用特性是它的如下能力:在父目录还不存在时创建它们。考虑一下上面的清单,设想 archive 目录存在,但是 metals 目录不存在。如果使用底层平台的 mkdir 命令,您需要首先显式地创建 metals 目录,然后第二次调用 mkdir 命令来创建 zinc 目录。但是 Ant 任务比这更加智能,它能够一次性创建这两个目录。类似地,如果目标目录已经存在,mkdir 任务不会发出错误消息,而只是假设它的工作已经完成,从而什么也不做。

2)删除目录:

  <delete dir="archive/metals/zinc"/>

这将删除指定的目录连同它包含的所有文件以及子目录。使用 file 属性而不是 dir 属性可以指定要删除的单个文件。

3)在 Ant 中制作文件的一份拷贝很简单。例如:

<copy file="src/Test.java" tofile="src/TestCopy.java"/>

4)您还可以使用 move 来执行重命名操作而不是拷贝文件:

<move file="src/Test.java" tofile="src/TestCopy.java"/>

5)另一个常用的文件系统操作是将文件复制或移动到另一个目录。做这项工作的 Ant 语法同样也很简单:

<copy file="src/Test.java" todir="archive"/>

<move file="src/Test.java" todir="archive"/>

默认情况下,Ant 仅输出它执行的移动和复制操作的摘要,包括诸如已移动或复制的文件的数量等信息。如果想看到更详细的信息,包括涉及的文件名称等,您可以将 verbose 属性设置为true

6)下面是创建 zip 文件的 Ant 任务:

<zip destfile="output.zip" basedir="output"/>

7)相同的语法也可用于创建 tar 文件。 还可以使用 GZip BZip 任务来压缩文件。例如:

<gzip src="output.tar" zipfile="output.tar.gz"/>

8)解压缩和提取文件同样也很简单:

<unzip src="output.tar.gz" dest="extractDir"/>

9)最后一个文件系统操作是 replace 任务,它执行文件中的查找和替换操作。token 属性指定要查找的字符串,value 属性指定一个新的字符串,查找到的标记字符串的所有实例都被替换为这个新的字符串。例如:

<replace file="input.txt" token="old" value="new"/>

替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把 summary 属性设置为 true。这将导致该任务输出找到和替换的标记字符串实例的数目。