2008-09-23 1 views

ответ

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() 
+0

Работал как очарование! Большое спасибо. – 2008-09-23 16:20:59

1

Я не уверен, что вы подразумеваете под «Добавляя вывод в строку», но вы можете печатать на стандартный вывод с помощью «печать» или «Println».