Интересно, можно ли каким-либо образом изменить вывод по умолчанию (System.out) для groovy-скрипта, который я выполняю из своего Java-кода.Как перенаправить вывод из скрипта Groovy?
Вот код Java:
public void exec(File file, OutputStream output) throws Exception {
GroovyShell shell = new GroovyShell();
shell.evaluate(file);
}
И образец заводной сценария:
def name='World'
println "Hello $name!"
В настоящее время выполнение метода, оценивает сценарии, пишет "Hello World!" на консоль (System.out). Как я могу перенаправить вывод на OutputStream, переданный как параметр?
Это будет работать, но я бы хотел перенаправить * любой * вывод, записанный на стандартный вывод. Особенно по встроенным функциям такой нам println(). –
Вы были * о * праве. Решение состоит в том, чтобы обернуть вывод int java.io.PrintStream и передать свойство «out» оболочке! –
yay !, мой первый бронзовый значок! Счастлив, что это работает! Как вы завершили вывод? – jjchiw