国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

開發方法及軟件工程之ANT之文件操作

2019-11-18 12:53:47
字體:
來源:轉載
供稿:網友

  在本文中,我們將考察如何執行常見文件操作,比如創建目錄和解壓縮文件。 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。這將導致該任務輸出找到和替換的標記字符串實例的數目。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郸城县| 基隆市| 紫阳县| 牡丹江市| 长子县| 阳山县| 清苑县| 全椒县| 平邑县| 卢湾区| 玛曲县| 沁水县| 黄平县| 蒙自县| 永昌县| 丽江市| 六安市| 碌曲县| 彭山县| 开鲁县| 垦利县| 宜兰市| 阿图什市| 浙江省| 姚安县| 措勤县| 偏关县| 合水县| 麟游县| 即墨市| 竹溪县| 巴中市| 缙云县| 天祝| 河北区| 四川省| 昭通市| 新营市| 盐山县| 搜索| 读书|