<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    沉睡森林@漂在北京

    本處文章除注明“轉載”外均為原創,轉載請注明出處。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks

    4.5 Copy Task:對文件和目錄進行復制

    Copy 任務把一個或多個文件復制到指定的目錄下。但要注意的是,如果目標目錄下具有同名的文件,那么只有當源文件相對于目標文件更新時,Ant工具才會復制這個文件。在Copy任務中可以使用FileSet類型來定義文件集合。

    4.5.1 Copy Task的屬性及功能

    Copy 任務具有以下屬性:

    (1)file:用于指定要復制的源文件。

    (2)preservelastmodified:作用是使得復制后的文件與源文件的最后修改時間相同。默認為false。

    (3)tofile:用于指定要復制到的文件。

    (4)todir:用于指定要復制到的目標目錄。todir和tofile只能使用其中一個屬性。

    (5)overwrite:用于指定是否需要覆蓋目錄和文件,不管文件是否比源文件新,都會覆蓋。默認為false。

    (6)filtering:用于指定在復制時是否使用構件文件的全局過濾器對文件進行過濾。默認為false。

    (7)flatten:用于指定是否需要復制目錄,如果為true代表把所有的文件復制到todir屬性設定的目錄下。默認為false,復制目錄。

    (8)includeEmptyDirs:用于指定是否復制空目錄。默認為true。

    (9)failonerror:用于指定當遇到錯誤時是否停止執行。默認為true。

    (10)verbose:用于指定當復制文件時是否記錄日志信息。

    (11)encoding:用于設定復制文件時的編碼或文件過濾器使用的編碼方式。默認時使用Java虛擬機的編碼方式。

    (12)outputencoding:指定寫文件時的編碼方式。默認時使用Java虛擬機的編碼方式。

    (13)enablemultiplemappings:用于設定是否允許多個映射。默認為false。

    (14)granularity:用于指定一個文件修改時間的毫秒數據的允許誤差。因為不是所有的文件系統的修改時間都是精確到毫秒數。默認時為0,如果為DOS系統則為2。

    4.5.2 通過Copy Task實現文件和目錄復制功能實例

    不管是對程序進行打包還是一般的文件操作,基本上都離不開復制功能。通過Ant工具的Copy任務可以讓程序在Windows和Linux/UNIX下對文件和目錄進行復制操作。例如:

    (1)對單個文件進行復制:

    <copy file="myfile.txt" tofile="mycopy.txt"/>

    這個例子的作用是在當前目錄復制myfile.txt,并把復制的文件命名為mycopy.txt。當需要把文件復制到別外的目錄時可以這樣編寫:

    <copy file="myfile.txt" todir="../some/other/dir"/>

    這個例子的作用是把文件復制到與當前目錄同級的some目錄的/other/dir子目錄下。這里“..”代表相對路徑(當前目錄的上一級目錄)。

    (2)對文件目錄進行復制:

    <copy todir="../new/dir">

        <fileset dir="src_dir"/>

    </copy>

    這個例子的作用是把src_dir目錄復制到../new/dir目錄下。有時對文件進行復制時需要對文件進行備份。下面舉一個復制文件時對文件進行備份的例子。

    <copy todir="../backup/dir">

    <fileset dir="src_dir">

        <exclude name="**/*.java"/>

       </fileset>

    <globmapper from="*" to="*.bak"/>

    </copy>

    這個例子的作用是把src_dir目錄及其子目錄下所有非Java文件復制到../backup/dir目錄下,并重命名為bak文件,以作備份。

    4.5.3 在執行Copy Task時使用文件過濾的實例

    下面是一個復制文件的同時替換文件中的特殊符號的例子:

    <copy todir="../backup/dir">

        <fileset dir="src_dir"/>

        <filterset>

          <filter token="TITLE" value="Foo Bar"/>

        </filterset>

    </copy>

    這個例子的作用是把src_dir目錄下的所有文件復制到../backup/dir目錄,并在所有文件中查找并替換@TITLE@為Foo Bar。當要進行新產品發布時通過需要替換文件中的版本信息和時間信息。

    說明:在Ant工具中還提供了copydir和copyfile這兩個特定的任務,分別用于對目錄和文件進行復制。但自從有了Copy任務后,這兩個任務已過期,不建議再使用,應該統一使用Copy任務。

    4.6 Delete Task:對文件和目錄進行刪除

    Delete 任務可用于刪除一個或多個文件,或刪除一個或多個目錄和目錄下的文件。默認時不會刪除空目錄,要刪除空目錄可以設定includeEmptyDirs屬性為true。在Delete任務中可以使用FileSet和DirSet類型。

    4.6.1 Delete Task的屬性及功能

    Delete任務包括以下屬性:

    (1)file:用于指定要刪除的文件的名稱,可以為相對路徑或絕對路徑。

    (2)dir:指定一個將要被刪除的根目錄。這個目錄下的子目錄及文件將可能被刪除。dir屬性和file屬性兩者必須指定其一。

    (3)verbose:作用是指定是否在命令行中輸出被刪除的文件的名稱。默認為false。

    (4)quiet:作用是指定當要被刪除的文件或目錄不存在時是否不顯示提示信息。默認為false,代表要顯示提示信息。

    (5)failonerror:用于指定當出現錯誤時是否停止執行命令。

    (6)includeemptydirs:表明當使用FileSet類型時是否刪除空的目錄。

    (7)includes:用于指定將要刪除的文件或目錄的模式。可用逗號或空格符進行分隔。

    (8)includesfile:用于指定要刪除的文件的模式。已不建議使用。

    (9)excludes:用于指定一個或多個文件模式或目錄模式。這些符合條件的文件和目錄將不被刪除。

    (10)excludesfile:用于指定將不被刪除的文件模式,已不建議使用。

    (11)defaultexcludes:用于指定是否使用Ant默認的default excludes模式,已不建議使用。

    (12)deleteonexit:用于指定是否采用Java File類中的deleteOnExit()方法進行判斷,如果使用這個方法,那么僅當存在文件時才進行刪除,默認取值為false。

    4.6.2 在執行Delete Task時使用文件過濾的實例

    (1)刪除單個文件的實例:

    <delete file="/lib/ant.jar"/>

    這個例子的作用是刪除lib目錄下的ant.jar文件。

    (2)刪除目錄的實例:

    <delete dir="lib"/>

    這個例子的作用是刪除lib目錄,包括這個目錄的所有子目錄及文件,可以通過include或exclude類型指定刪除的部分文件,而不是目錄下的所有文件。

    (3)刪除所有備份文件和空的目錄的例子:

    <delete includeEmptyDirs="true">

        <fileset dir="." includes="**/*.bak"/>

    </delete>

    這個例子的作用是刪除當前目錄以及其子目錄下的所有.bak文件,同時也刪除所有空的目錄。

    http://book.csdn.net/bookfiles/379/10037914215.shtml

    posted on 2009-06-14 18:22 王總兵 閱讀(2369) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 日韩精品无码免费专区午夜| 新最免费影视大全在线播放| 日韩内射激情视频在线播放免费| 亚洲欧洲精品成人久久奇米网| 久久亚洲AV成人无码国产最大| 在线免费观看一级片| 亚洲偷偷自拍高清| 成人毛片免费观看视频大全| 亚洲中文字幕久久久一区| 毛片免费vip会员在线看| 亚洲精品日韩一区二区小说| 成人五级毛片免费播放| 日本亚洲中午字幕乱码| 一本色道久久88综合亚洲精品高清| 免费福利资源站在线视频| 亚洲麻豆精品国偷自产在线91| aaa毛片免费观看| 亚洲第一成年男人的天堂| 97性无码区免费| 亚洲暴爽av人人爽日日碰| 免费中文字幕在线| 免费国产成人α片| 国产成人精品亚洲2020| 亚洲国产成人精品无码久久久久久综合 | 亚洲人成网7777777国产| 日韩精品人妻系列无码专区免费| 亚洲午夜久久久久久尤物| 激情综合亚洲色婷婷五月APP| 国内免费高清在线观看| 人成午夜免费大片在线观看| 亚洲女久久久噜噜噜熟女| 18成禁人视频免费网站| 在线观看亚洲免费| 久久精品国产亚洲| 午夜宅男在线永久免费观看网| 特a级免费高清黄色片| 亚洲国产天堂久久综合网站| 永久久久免费浮力影院| 波多野结衣免费一区视频| 国产午夜亚洲精品国产| 国产亚洲精品不卡在线|