在本文中,我們將考察如何執行常見文件操作,比如創建目錄和解壓縮文件。 Ant 的優秀特性之一在于,執行這些操作的任務一般在所有平臺上都是相同的。
創建和刪除目錄
最基本的文件系統操作之一就是創建目錄或文件夾。做這項工作的任務名為 mkdir,毫不奇怪,它非常類似于具有相同名稱的 Windows 和 UNIX/Linux 命令。
<mkdir dir="archive/metals/zinc"/>
首先要注意 / 被用作目錄分隔符,這是 UNIX 和 Linux 的慣例。您可能認為這不是很平臺無關的,但是 Ant 知道如何處理它,并針對它運行所在的平臺做恰當的事情,這與我們在前面定義基于位置的屬性時所看到的方式相同。我們能夠同樣容易地使用 \,而不管平臺是什么 ?? Ant 能夠處理任一種形式,甚至能夠處理兩種形式的混合。
mkdir 任務的另一個有用特性是它的如下能力:在父目錄還不存在時創建它們?紤]一下上面的清單,設想 archive 目錄存在,但是 metals 目錄不存在。如果使用底層平臺的 mkdir 命令,您需要首先顯式地創建 metals 目錄,然后第二次調用 mkdir 命令來創建 zinc 目錄。但是 Ant 任務比這更加智能,它能夠一次性創建這兩個目錄。類似地,如果目標目錄已經存在,mkdir 任務不會發出錯誤消息,而只是假設它的工作已經完成,從而什么也不做。
刪除目錄同樣也很容易:
<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"/>
默認情況下,Ant 僅輸出它執行的移動和復制操作的摘要,包括諸如已移動或復制的文件的數量等信息。如果想看到更詳細的信息,包括涉及的文件名稱等,您可以將 verbose 屬性設置為true。
創建和解壓縮 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。這將導致該任務輸出找到和替換的標記字符串實例的數目。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月