Как передать stdout из метода groovy в строку
Как вызвать метод groovy, который печатает в stdout, добавляя вывод в строку?
2 ответов
это демонстрирует, как вы можете это сделать. Вставьте это в файл скрипта Groovy и запустите его. Вы увидите функции первого вызова как обычно. Второй звонок не дает результатов. Наконец, последний шаг в main печатает результаты второго вызова, которые были перенаправлены на 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".