在我的项目的一个配置文件中,我需要附加一些文本.我正在寻找一些使用Ant来做到这一点的选项.
我找到了一个选项 - 找到一些东西并用新文本和旧值替换该文本.但它似乎并不乐观,好像将来某人更改原始文件时,构建将失败.
所以,我希望我的脚本在文件末尾添加文本.
我有什么选择可以满足这样的要求?
Mic*_*lat 43
使用echo任务:
<echo file="file.txt" append="true">Hello World</echo>
Run Code Online (Sandbox Code Playgroud)
编辑:如果你有HTML(或其他任意XML),你应该逃避它CDATA:
<echo file="file.txt" append="true">
<![CDATA[
<h1>Hello World</h1>
]]>
</echo>
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用过滤链.
例如,下面将添加文件input2.txt到input1.txt并把结果写入output.txt.当前操作系统的行分隔符(来自ant中可用的java属性)在输出文件中使用.在使用它之前output2.txt,我必须动态创建.
<copy file="input1.txt" tofile="output.txt" >
<filterchain>
<concatfilter append="input2.txt" />
<tokenfilter delimoutput="${line.separator}" />
</filterchain>
</copy>
Run Code Online (Sandbox Code Playgroud)
该CONCAT任务看起来做的一样好.有关示例,请参见http://ant.apache.org/manual/Tasks/concat.html,但相关的是:
<concat destfile="README" append="true">Hello, World!</concat>
Run Code Online (Sandbox Code Playgroud)