令牌過濾器允許我們在復(fù)制時過濾文件中的數(shù)據(jù)。 要進(jìn)行過濾,需要使用一個必須與過濾器任務(wù)中的@token@
設(shè)置匹配的標(biāo)記。 任務(wù)使用@
作為標(biāo)記分隔符。 為了實現(xiàn)此功能,Apache Ant提供了使用token
屬性的<filter>
。
此功能僅應(yīng)與文本文件一起使用。下面來看看Apache Ant令牌過濾器屬性:
屬性 | 描述 | 必要 |
---|---|---|
token |
它是沒有分隔符字符(@)的標(biāo)記字符串。 | Y |
value |
這是一個字符串,應(yīng)該在復(fù)制文件時替換令牌。 | Y |
filtersfile |
必須從中讀取過濾器的文件,此文件必須格式化為屬性文件。 | Y |
下面的代碼通過用yiibai
替換字符串@name@
的所有重復(fù),遞歸地將源目錄中的所有文件復(fù)制到目標(biāo)目錄中。
<filter token="name" value="yiibai"/>
<copy todir="destination-directory" filtering="true">
<fileset dir="source-directory"/>
</copy>
從student_data.properties
文件中讀取所有屬性條目并將其設(shè)置為過濾器。
<filter filtersfile="student_data.properties"/>