将标准输出存储到groovy列表中
我无法使用以下代码将shell命令的标准输出存储到列表中。它似乎将每个字符存储为列表元素,而不是每行上生成的整个字符串将标准输出存储到groovy列表中,groovy,Groovy,我无法使用以下代码将shell命令的标准输出存储到列表中。它似乎将每个字符存储为列表元素,而不是每行上生成的整个字符串 def implementedBranchName = [] def getImplementedBranches() { def cmd = "/usr/bin/tool search status Pending" Process process = cmd.execute() def output= process .in.text; i
def implementedBranchName = []
def getImplementedBranches() {
def cmd = "/usr/bin/tool search status Pending"
Process process = cmd.execute()
def output= process .in.text;
implementedBranchName = output.each{ println it }
def size = implementedBranchName.size()
for ( int i = 0; i < size; i++) {
println(implementedBranchName[i])
}
}
期望输出:
FOO
BAR
你可以改变一下
implementedBranchName = output.each{ println it }
致:
你可以改变一下
implementedBranchName = output.each{ println it }
致:
Groovy中还有“eachLine”
def getImplementedBranches() {
def cmd = "/usr/bin/tool search status Pending"
Process process = cmd.execute()
process.in.eachLine { line ->
println(line)
}
}
Groovy中还有“eachLine”
def getImplementedBranches() {
def cmd = "/usr/bin/tool search status Pending"
Process process = cmd.execute()
process.in.eachLine { line ->
println(line)
}
}
您已将您的
implementedBranchName
声明为列表,但您将此参数重写为字符串def output=process.in.text;implementedBranchName=output。每个{println it}
谢谢-我将对此进行研究。您已将implementedBranchName
声明为列表,但您将此参数重写为字符串def output=process.in.text;implementedBranchName=output.each{println it}
谢谢-我将对此进行研究。