我需要从文件加载属性并按以下方式更改字符串:
prop1=value1
prop2=value2
prop3=value3
进入:
-Pprop1=value1 -Pprop2=value2 -Pprop3=value3
(基本上我想在每行的开头添加-P并删除换行符)
我以下列方式使用tokenfilter
:
<loadfile property="temp.properties" srcFile="${properties.file}">
<filterchain>
<tokenfilter delimoutput=" -P">
<ignoreblank />
</tokenfilter>
</filterchain>
</loadfile>
这种方法的问题是,假设文件以空的新行结尾,我得到以下字符串:
prop1=value1 -Pprop2=value2 -Pprop3=value3 -P
-P
(没有与文件末尾的换行符有关)。只需将-P
字符串与结果字符串另外,一个很好的补充是忽略属性注释 - 以#
开头的行,但如果它太复杂了,那就不重要了。
由于
答案 0 :(得分:3)
以下是否适用于您?
<filterchain>
<replaceregex pattern="^[#].*" replace="" />
<ignoreblank />
<prefixlines prefix=" -P" />
<striplinebreaks />
</filterchain>