2012-03-03 13 views
9

Process/ProcessBuilderの出力をリダイレクトする方法をお探しですか?私はそれがこのようにするJava 7で動作することを知っている:Java 5/6でProcessBuilderの出力をリダイレクトしますか?

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

しかし、私はJavaの5/6のために同じことを必要とする...すべてのヘルプは非常に感謝しています。

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

getOutputStream()メソッドのJavadoc:Java 6ので作業のWindows 7CMDプロセスの

答えて

4

サンプルコードは、 は「言うサブプロセスの出力ストリームを取得します出力に。ストリームはこのProcessオブジェクトによって表されるプロセスの標準入力ストリームにパイプされます。

プロセスの出力をリダイレクトするには、上記のコードで定義されているstreamオブジェクトを使用できると思います。コンソールなどに書き込むことができます。

+1

hey deporter、すごくお返事ありがとうございます。単にprocess.getInputStream()を使用してInputStreamReaderに入れるのは完璧です:-) – salocinx

+0

@NicolasBaumgardtようこそ。上記のコードでは、outputstreamを使用していますが、inputstreamが必要なデータであれば問題はありません。 :) – Juvanis

+4

hm ..私の目標はビルドプロセスの標準出力を読み出すことです.Javadocは次のように言います。 "ストリームは、このProcessオブジェクトによって表されるプロセスの標準出力ストリームからパイプされたデータを取得します。この場合、javadocは少し奇妙です... – salocinx

関連する問題