不知有什麼辦法,我可以改變我是從我的Java代碼執行Groovy腳本的默認輸出(System.out的)。如何重定向Groovy腳本的輸出?
下面是Java代碼:
public void exec(File file, OutputStream output) throws Exception {
GroovyShell shell = new GroovyShell();
shell.evaluate(file);
}
和樣品Groovy腳本:
def name='World'
println "Hello $name!"
目前該方法的執行,評估寫入腳本的 「Hello World!」到控制檯(System.out)。如何將輸出重定向到作爲參數傳遞的OutputStream?
這將工作,但我想重定向*任何輸出寫入標準輸出。特別是通過內置函數println()。 – 2009-10-07 13:48:53
你是* *正確的。解決方法是將輸出包裝到java.io.PrintStream中,並作爲「out」屬性傳遞給shell! – 2009-10-07 14:21:42
yay!,我的第一個銅牌徽章! 快樂的工作吧!你是如何包裝輸出的? – jjchiw 2009-10-07 14:40:31