2017-04-20 1 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' 

는하지만 난 파일로 인쇄의 출력을 만들어에 println, printf와의 기본 기능을 실행하거나 도와 etc.Please에 println 싶다.

답변

0

jvm의 출력 스트림을 설정할 수 있습니다.

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

난 당신이 잘 작동 할 수 script.out 사용을 참조하십시오.

사용중인 System.print 메서드에 대한 기본 출력 스트림을 설정해야합니다.

관련 문제