Gradle 有没有一种更Groovier的方式来访问属性文件?

Gradle 有没有一种更Groovier的方式来访问属性文件?,gradle,groovy,Gradle,Groovy,可以像这样访问属性文件: def props = new Properties() new File('my.props').withInputStream { props.load(it) } assert props.foo == 'bar' 我觉得那很麻烦。难道没有更好的方法吗 // does not compile def props = Properties.from(new File('my.props')) assert props.foo == 'bar' 我相信答案是否定的

可以像这样访问属性文件:

def props = new Properties()
new File('my.props').withInputStream { props.load(it) }
assert props.foo == 'bar'
我觉得那很麻烦。难道没有更好的方法吗

// does not compile
def props = Properties.from(new File('my.props'))
assert props.foo == 'bar'

我相信答案是否定的


的文档不包含
java.util.Properties
(与
java.io.File
相比)。意味着本地解决方案的现有技术

我相信答案是否定的


的文档不包含
java.util.Properties
(与
java.io.File
相比)。意味着本地解决方案的现有技术

您始终可以使用元编程:

Properties.metaClass.static.from = { File f ->
    def p = new Properties()
    f.withInputStream { p.load(it) }
    p
}
p = Properties.from(new File('a.properties'))
assert p['a'] == '10'

您始终可以使用元编程:

Properties.metaClass.static.from = { File f ->
    def p = new Properties()
    f.withInputStream { p.load(it) }
    p
}
p = Properties.from(new File('a.properties'))
assert p['a'] == '10'

我不知道从文件创建属性的任何快捷方式。我想建议一个没有预先声明变量的简单解决方案:

p = new File('my.props').withReader { reader -> 
    new Properties().with { 
        load reader
        it
    }
}

我不知道从文件创建属性的任何快捷方式。我想建议一个没有预先声明变量的简单解决方案:

p = new File('my.props').withReader { reader -> 
    new Properties().with { 
        load reader
        it
    }
}