groovy更新配置文件

时间:2012-10-05 17:30:06

标签: parsing properties groovy

我有一个groovy配置文件,看起来像

section1 {
    prop1 = val1
    prop2 = val2
    section2 {
       prop3 = val3
    {
}

// other style properties in this file
anotherprop = someval

// as well as some other statements
println "hello there"

我想编写一个groovy脚本来改变prop3的值。在groovy中有一个很好的方法吗?由于该文件包含多种属性以及println,因此它有点难度。

1 个答案:

答案 0 :(得分:0)

据我所知,您想要修改配置文件

由于文件中包含println和其他语句,因此无法使用configurationSlurper读取文件。

我想简单的方式(但我希望能得到这个解决方案) - :是使用一个regsub:

def config = new File('config.groovy').getText()
def newValue = 18
def newConfig = config.replaceAll(/(?ms)(prop3[ \t]*=[ \t]*)([0-9]*)/,'$1'+newValue)
new File('config.groovy').write(newConfig)

对于大多数情况来说这应该是相当稳定的......