在groovy脚本内部执行java方法期间,将控制台输出重定向到文件

时间:2014-01-28 13:32:46

标签: groovy

如何将控制台输出重定向到groovy脚本中的文件? 我需要调用一个主方法:

xsdgenerator = Class.forName("org.wiztools.xsdgen.XsdGenMain", true, loader).newInstance()
xsdgenerator.main(args)

此主要方法输出到控制台。我可以将控制台输出重定向到groovy脚本中的任何文件。因为我需要在输出和显示中做一些更正。

1 个答案:

答案 0 :(得分:0)

你不能这样做:

PrintStream archived = System.out
try {
    new File( 'output.log' ).withOutputStream { os ->
        System.out = new PrintStream( os )
        xsdgenerator = Class.forName("org.wiztools.xsdgen.XsdGenMain", true, loader).newInstance()
        xsdgenerator.main(args)
    }
}
finally {
    System.out = archived
}