我感兴趣的是,如果有一种简单的方法可以将文件中的特定行存储到Groovy中的数组中(我需要在Jenkins中使用GroovyAxis)。该文件看起来像这样:
fields
我需要将var3中的test1 test2 test3等存储在一个数组中。现在我用这个:
var1="value1 value2 etc"
var2="a b etc"
var3="test1 test2 test3 etc"
但是它将我拥有的每一行存储到一个数组中,因此我必须大量解决配置文件才能完成工作。
非常感谢
答案 0 :(得分:0)
你非常接近!
def words = [:]
new File( '/home/workstation/jenkins/params' ).eachLine { line ->
(var, value) = line.split('=')
words << [(var): value.split(' ')]
}
结果是数组的映射。键是变量名,值是数组。
哦,它是属性文件......
Properties properties = new Properties()
File propertiesFile = new. File('/home/workstation/jenkins/params')
propertiesFile.withInputStream { properties.load(it) }
def result = properties.var3.split(' ').collect { item.minus('"') }
return result
答案 1 :(得分:0)
ConfigSlurper
可用于加载属性/配置:
def config = new ConfigSlurper(new File("my.conf").toURL())
assert config.var2 == "a b etc"
答案 2 :(得分:0)