gpt4 book ai didi

replace - 将 Ant 属性文件中一个属性的值复制到另一个属性

转载 作者:行者123 更新时间:2023-12-05 06:58:57 26 4
gpt4 key购买 nike

我需要将属性文件中一个属性的值复制到第二个属性,并将其添加到属性文件中。

例如,如果我有一个属性文件 Test.properties 包含

2018=jan;feb;mar    
2019=jan;feb;mar
2020=jan;feb;mar
********************************
name=john,math,sudha

我的输入属性是“2020”,输出是“2021”,运行Ant Test后属性应该包含

2018=jan;feb;mar    
2019=jan;feb;mar
2020=jan;feb;mar
2021=jan;feb;mar
********************************
name=john,math,sudha

不改变顺序我怎么能这样做呢?

最佳答案

您也许可以使用基于以下内容的东西:

想法是读取属性文件,然后使用两个 <propertyset> 带有 <echoproperties> task 的实例更新文件。

<property name="prop.file" value="Test.properties" />

<property name="input" value="2020" />
<property name="output" value="2021" />

<property name="pf" value="prefix" />
<property name="input.prop" value="${pf}.${input}" />

<loadproperties srcfile="${prop.file}" prefix="${pf}" />

<echoproperties destfile="${prop.file}">
<propertyset>
<propertyref prefix="${pf}" />
<mapper type="glob" from="${pf}.*" to="*" />
</propertyset>

<propertyset>
<propertyref name="${input.prop}" />
<mapper type="glob" from="${input.prop}*" to="${output}*" />
</propertyset>
</echoproperties>

那里的代码比您预期的要多:“前缀”用于确保从文件加载的属性不会与 Ant 构建文件中的任何属性发生冲突,因为属性是不可变的。

propertysets的顺序在echoproperties任务很重要,尤其是当您正在更新的文件中已有属性“2021”的值时。如果属性出现在两个集合中,则最后看到的属性集中的值“获胜”并回显到输出文件。

关于replace - 将 Ant 属性文件中一个属性的值复制到另一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64500810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com