Я хотел бы перенаправить вывод процесса Java на стандартный вывод родительского процесса Java.
Используя класс ProcessBuilder следующим образом:
public static void main(String[] args) {
ProcessBuilder processBuilder = new ProcessBuilder("cmd");
processBuilder.directory(new File("C:"));
processBuilder.redirectErrorStream(true); // redirect error stream to output stream
processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
}
Я ожидал, что результаты «cmd», такие как:
Microsoft Windows [версия 6.1.7601] Copyright (c) Microsoft Corporation, 2009 г. Tous droits reservés.
отображаются в консоли DOS, используемой для запуска программы Java. Но в DOS Console вообще ничего не отображается.
В других ветках обсуждений я видел решения с использованием класса BufferedReader: но здесь я бы хотел, чтобы результаты процесса напрямую отображались в стандартном выводе, без использования какого-либо BufferedReader или «цикла чтения». Является ли это возможным?
Спасибо.
setOut(...)
,setIn(...)
,setErr(...)
. - person Hovercraft Full Of Eels   schedule 21.04.2013