2017-04-20 7 views
0

grailsでは、印刷メソッドをスクリプトでリダイレクトし、以下に示すようにGroovyShellを使用して実行することができます。grailsのスクリプトを使用してすべての印刷メソッドの機能を上書きする方法

def scriptText = ''' 
def s = "Groovy rocks!"  
println s  
printf 'The answer is %X', 42  
'''  
def shell = new GroovyShell()   
def script = shell.parse(scriptText)  
def stringWriter = new StringWriter()  
script.out = new PrintWriter(stringWriter) 

script.run() 
assert stringWriter.toString() == 'Groovy rocks!\nThe answer is 2A' 

しかし、私は私を助けてetc.Pleaseファイルに印刷の出力を行うとのprintln、printfのかのprintlnのデフォルトの機能を実行したいです。

答えて

0

jvmの出力ストリームを設定できます。

System.out = new PrintStream(new FileOutputStream(...)) 

私はあなたが同様に働くかもしれscript.out使用している参照してください。

これは、使用しているSystem.printメソッドのデフォルトの出力ストリームを設定する必要があります。

関連する問題