Перенаправление вывода ProcessBuilder в Java 5/6? - PullRequest
9 голосов
/ 04 марта 2012

Я ищу способ перенаправить вывод Process / ProcessBuilder? Я знаю, что это работает в Java 7 следующим образом:

ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();

Но мне нужно то же самое для Java 5/6 ... Любая помощь высоко ценится.

1 Ответ

4 голосов
/ 04 марта 2012

Пример кода для cmd процесса на Windows 7 , работа с Java 6 :

ProcessBuilder processBuilder = new ProcessBuilder( "cmd" );        
Process process = processBuilder.start();
OutputStream stream = process.getOutputStream();

Javadoc для getOutputStream() метода: говорит "Получает выходной поток подпроцесса. Вывод в поток передается в стандартный входной поток процесса, представленного этим объектом процесса."

Для перенаправления выводапроцесс, я думаю, вы можете использовать stream объект, определенный в коде выше.Вы можете записать это на консоль и т. Д.

...