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) 2009 Microsoft Corporation. Tous droits reservés.
java プログラムの実行に使用される DOS コンソールに表示されます。しかし、DOS コンソールには何も表示されません。
議論の他のスレッドでは、BufferedReader クラスを使用した解決策を見ました。しかし、ここでは、BufferedReader や "while reading loop" を使用せずに、プロセスの出力を標準出力に直接表示したいと考えています。出来ますか?
ありがとう。