令牌過(guò)濾器允許我們?cè)趶?fù)制時(shí)過(guò)濾文件中的數(shù)據(jù)。 要進(jìn)行過(guò)濾,需要使用一個(gè)必須與過(guò)濾器任務(wù)中的@token@設(shè)置匹配的標(biāo)記。 任務(wù)使用@作為標(biāo)記分隔符。 為了實(shí)現(xiàn)此功能,Apache Ant提供了使用token屬性的<filter>。
此功能僅應(yīng)與文本文件一起使用。下面來(lái)看看Apache Ant令牌過(guò)濾器屬性:
| 屬性 | 描述 | 必要 |
|---|---|---|
token |
它是沒(méi)有分隔符字符(@)的標(biāo)記字符串。 | Y |
value |
這是一個(gè)字符串,應(yīng)該在復(fù)制文件時(shí)替換令牌。 | Y |
filtersfile |
必須從中讀取過(guò)濾器的文件,此文件必須格式化為屬性文件。 | Y |
下面的代碼通過(guò)用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è)置為過(guò)濾器。
<filter filtersfile="student_data.properties"/>