加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy:如何访问属性文件?

发布时间:2020-12-14 16:39:39 所属栏目:大数据 来源:网络整理
导读:我有一个Groovy应用程序,我想以编程方式访问属性 在message.properties中定义。 作为一个测试,我试过以下: println "capacity.created " + ${message.properties['capacity.created']} 但它不工作(抛出异常)。 欢迎任何帮助 路易斯 解决方法 对于在Groovy
我有一个Groovy应用程序,我想以编程方式访问属性
在message.properties中定义。

作为一个测试,我试过以下:

println "capacity.created " +  ${message.properties['capacity.created']}

但它不工作(抛出异常)。

欢迎任何帮助

路易斯

解决方法

对于在Groovy中读取属性文件,可以使用实用程序类 ConfigSlurper并使用GPath表达式访问包含的属性。但是,您必须注意ConfigSlurper不支持标准的Java属性文件。通常,ConfigSlurper将用于读取可能与属性文件类似的.groovy文件,但遵循标准groovy表示法,因此字符串在引号内,注释以/或开头在/ * * /块中。因此,要读取Java属性文件,您需要创建一个java.util.Properties对象,并使用它来创建一个ConfigSlurper:

def props = new Properties()
new File("message.properties").withInputStream { 
  stream -> props.load(stream) 
}
// accessing the property from Properties object using Groovy's map notation
println "capacity.created=" + props["capacity.created"]

def config = new ConfigSlurper().parse(props)
// accessing the property from ConfigSlurper object using GPath expression
println "capacity.created=" + config.capacity.created

如果只使用Groovy代码中的属性文件,则应直接使用Groovy记法变量。

def config = new ConfigSlurper().parse(new File("message.groovy").toURL())

这也给你一些不错的优势,标准的属性文件,例如。代替

capacity.created="x"
capacity.modified="y"

你可以写

capacity {
  created="x"
  modified="y"
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读