Ant类型之redirector

一、概述

        许多任务都可以通过相当简单的方式定义输入和输出。用于执行外部程序的exec就是一个非常基本的例子。执行的过程可能接受输入,产生输出,或者根据不同的情况只做二者之一或者都做。输出又可以分为输出和错误输出。ant1.6.2起,redirector提供了一种重定向输入和输出的方法,其特点是使用filemapper来指定源文件和目标文件。

二、属性

        output:写入输出的文件名。如果没有设置error属性,错误输出会写入此输出中。
        error:命令的错误输出重定向到的文件。
        logError:当希望在ant日志中看到错误信息,并将输出重定向到文件或属性时,错误信息不包含在输出文件或属性中。如果用error或errorproperty属性重定向错误,此属性会失效。
        append:追加(true)还是覆盖(false)输出和错误文件。默认为false。
        createemptyfiles:是否创建输出和错误文件,即使是空的。默认为true。
        outputproperty:存储输出的属性名。如果错误没有重定向到单独的文件或属性,这个属性也会包含错误输出。
        errorproperty:存储命令的错误输出的属性名。
        input:命令执行时的输入文件。不能与inputstring同时使用。
        inputstring:命令执行时的输入字符串。
        inputencoding:输入编码。
        outputencoding:输出编码。
        errorencoding:错误编码。
        alwayslog:ant1.6.3起,除了发送到其他目标外还要发送到日志。默认为false。
        loginputstring:ant1.6.3起,在日志消息中控制是否显示inputstring的值,将敏感数据发送到外部程序时设置为false。默认为true。

        redirector还支持嵌套以下元素:

        inputmapper:用于重定向程序输入的映射器
        outputmapper:用于重定向程序输出的映射器。
        errormapper:用于重定向程序错误的映射器。
        inputfilterchain:应用于程序输入的过滤器链
        outputfilterchain:应用于程序输出的过滤器链。
        errorfilterchain:应用于程序错误的过滤器链。

三、简单示例

<project>
	<exec executable="cat">
		<redirector outputproperty="out"
			errorproperty="err"
			inputstring="thi is redirector test."
			createemptyfiles="false">
		<inputfilterchain>
			<replacestring from="redirector" to="Redirector"/>
		</inputfilterchain>
			<outputmapper type="merge" to="r.out"/>
			<errormapper type="merge" to="r.err"/>
		</redirector>
	</exec>
	<echo message="${out}${line.separator}${err}"/>
</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值