如何将标准输出从groovy方法导入字符串

如何将标准输出从groovy方法导入字符串,groovy,Groovy,如何调用打印到stdout的groovy方法,将输出附加到字符串?这演示了如何做到这一点。将其粘贴到Groovy脚本文件中并运行它。您将看到第一次调用的功能正常。第二个调用不产生任何结果。最后,主程序中的最后一步打印重定向到ByteArrayOutputStream的第二个调用的结果 玩得开心 void doSomething() { println "i did something" } println "normal call\n---------------" doSomething

如何调用打印到stdout的groovy方法,将输出附加到字符串?

这演示了如何做到这一点。将其粘贴到Groovy脚本文件中并运行它。您将看到第一次调用的功能正常。第二个调用不产生任何结果。最后,主程序中的最后一步打印重定向到ByteArrayOutputStream的第二个调用的结果

玩得开心

void doSomething() {
  println "i did something"
}

println "normal call\n---------------"
doSomething()
println ""

def buf = new ByteArrayOutputStream()
def newOut = new PrintStream(buf)
def saveOut = System.out

println "redirected call\n---------------"
System.out = newOut
doSomething()
System.out = saveOut
println ""

println "results of call\n---------------"
println buf.toString()

我不确定“将输出附加到字符串”是什么意思,但可以使用“print”或“println”将输出打印到标准输出