0

Java プログラムの Processbuilder を使用して、バックグラウンド プロセスとして C++ プログラム (makefile) を実行しています。.getInputStream を使用して cmd プロンプトに表示される値をキャプチャし、コンソール (IDE) に表示しています。

    input = new BufferedReader(new InputStreamReader(p.getInputStream()));

            String line;
    try {
       while((line=input.readLine()) != null) {

            System.out.println(line);

これはうまくいきます。C++ ファイルの 1 つで何らかのエラーが発生し、makefile を実行しようとすると、エラー メッセージがキャプチャされないとします。「cmd.exe」、「start」を使用すると、cmdプロンプトでエラーを表示できますが、コンソール(IDE)には表示されません。

エラーメッセージを表示するにはどうすればよいか教えてください。

1) System.err と printstream がこれに対する解決策になる可能性がありますか? もしよろしければ、サンプルコードを見せてください。前もって感謝します

4

1 に答える 1

2

MadProgrammer のコメントとこの SO Question: Java Process with Input/Output Stream で言及されているように、プロセスには ProcessBuilder が.getErrorStream()あるか、使用できます。.redirectErrorStream()

于 2013-03-30T09:55:39.547 に答える