Ant类型之FilterSet

一、概述

        FilterSet是一组过滤器。过滤器可以通过token-value对或者从文件中读取来进行定义。FilterSet可以嵌套在支持过滤的task中,也可以与task一样做为project的子元素。FilterSet支持id和refid属性,可以给FilterSet定义一个id属性,然后在另一个FilterSet中通过refid属性来引用。使用refid属性的FilterSet就不可以定义除了id外的其他属性了。还可以在FilterSet中嵌套FilterSet来获取一组包含的过滤器的并集。FilterSet可以通过定义begintoken、endtoken来定义要匹配的内容。如果定义了相同的token,会使用最后一次的定义。FilterSet可以在诸如copy等task中进行字符的替换。在操作中使用FilterSet时,文件以文本方式进行处理,一行一行的进行过滤。在使用过滤器时要确保要进行过滤的文件都是文本文件。

二、属性

        begintoken:标记token开头的字符串,默认为@。
        endtoken:标记token结尾的字符串,默认为@。
        filtersfile:指定一个过滤器文件。
        recurse:ant1.6.3起,表示替换token的文本是否可以被其他的token进行查找,默认为true。
        onmissingfiltersfile:ant1.7起,表示当filtersfile指定的文件不存在时如何处理,可选值为fail、warn、ignore,默认为fail。

        FilterSet还支持两种嵌套元素:

                filter,具有以下两个属性:
        token:要替换的token。
        value:要替换成的值。
                filtersfile,有一个属性:
        file:加载token的属性文件。

三、简单示例

<project>
	<copy file="from.txt" toFile="to.txt">
		<filterset id="filterName" begintoken="$" endtoken="%">
			<filter  token="name" value="FilterSet"/>
		</filterset>
	</copy>
	
	<filterset id="fillName" begintoken="$" endtoken="%">
		<filtersfile file="filters.properties"/>
	</filterset>
	
	<copy file="from.txt" toFile="to1.txt">
		<filterset refid="filterName"/>
	</copy>
	
	<copy file="from.txt" toFile="to2.txt">
		<filterset refid="fillName"/>
	</copy>
</project>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值