所以我有一个ant build文件需要修改另一个名为modify.properties的文件。在这个属性文件中,我有一个这样的行 -
CSDT_FLAG_CSELEMENT_FWUIDS=CSElement:4f826165-4744-4d78-63f0-4f437eb17872,b2db8c3d-ec81-4c6e-9425-ff0860f4511b,13f5a17a-8dac-443b-bcf8-b1675e660c53
在我的构建文件中,我将搜索术语CSElement并获取包含该术语的行
<loadfile
property="csdtFlagPropertiesFile"
srcFile="../cms-distribution/src/main/x/csdtflags.properties">
<filterchain>
<filterreader classname="org.apache.tools.ant.filters.LineContainsRegExp">
<param type="regexp" value="CSElement"/>
</filterreader>
</filterchain>
</loadfile>
现在我有CSDT_FLAG_CSELEMENT_FWUIDS = CSElement:4f826165-4744-4d78-63f0-4f437eb17872,b2db8c3d-ec81-4c6e-9425-ff0860f4511b,13f5a17a-8dac-443b-bcf8-b1675e660c53,我可以使用containsregex替换该行filterchain中的方法但是我无法将其写回文件。诸如echo消息之类的消息将重写整个文件,但我只想用另一行替换该行。替换工作,但这将它保存到属性,我不知道如何在文件上重写它。任何帮助非常感谢。