创建和删除目录
<mkdir dir="archive/metals/zinc"/>
使用/ \
,而不管平台是什么 —— Ant 能够处理任一种形式,甚至能够处理两种形式的混合。
mkdir 任务的另一个有用特性是它的如下能力:在父目录还不存在时创建它们。但是 Ant 任务比这更加智能,它能够一次性创建这两个目录
删除目录同样也很容易:
<delete dir="archive/metals/zinc"/>
这将删除指定的目录连同它包含的所有文件以及子目录。使用 file
属性而不是 dir
属性可以指定要删除的单个文件。
复制和移动文件及目录
在 Ant 中制作文件的一份拷贝很简单。例如:
<copy file="src/Test.java" tofile="src/TestCopy.java"/>
您还可以使用 move
来执行重命名操作而不是拷贝文件:
<move file="src/Test.java" tofile="src/TestCopy.java"/>
另一个常用的文件系统操作是将文件复制或移动到另一个目录。做这项工作的 Ant 语法同样也很简单:
<copy file="src/Test.java" todir="archive"/>
<move file="src/Test.java" todir="archive"/>
创建和解压缩 zip 及 tar 文件
在前一节中,我们看到了如何创建 JAR 文件。创建其他归档文件的过程几乎完全相同。下面是创建 zip 文件的 Ant 任务:
<zip destfile="output.zip" basedir="output"/>
相同的语法也可用于创建 tar 文件。 还可以使用 GZip 和 BZip 任务来压缩文件。例如:
<gzip src="output.tar" zipfile="output.tar.gz"/>
解压缩和提取文件同样也很简单:
<unzip src="output.tar.gz" dest="extractDir"/>
还可以包括 overwrite
属性来控制覆盖行为。默认设置是覆盖与正在被提取的归档文件中的条目相匹配的所有现有文件。相关的任务名称是 untar
、unjar
、gunzip
和 bunzip2
。
替换文件中的标记
我们将在本节考察的最后一个文件系统操作是 replace
任务,它执行文件中的查找和替换操作。token
属性指定要查找的字符串,value
属性指定一个新的字符串,查找到的标记字符串的所有实例都被替换为这个新的字符串。例如:
<replace file="input.txt" token="old" value="new"/>
替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把 summary
属性设置为 true
。这将导致该任务输出找到和替换的标记字符串实例的数目。