Как вызвать метод groovy, который печатает на stdout, добавив вывод в строку?Как передать stdout из groovy метода в строку
8
A
ответ
10
Это демонстрирует, как вы можете это сделать. Вставьте это в файл сценария 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()
1
Я не уверен, что вы подразумеваете под «Добавляя вывод в строку», но вы можете печатать на стандартный вывод с помощью «печать» или «Println».
Работал как очарование! Большое спасибо. – 2008-09-23 16:20:59