0

ProcessBuilderプロセスを実行する必要があるすべてのクラスがそれを使用できるように、のラッパーがあります。
クラスはプロセスと引数を渡し、結果を返します。
結果は、Processまたは私が推測するエラーストリームの出力ストリームになります。
私の質問は、ストリームがスレッド間でどのように渡されるのかということです。私は次のようなことをしていることを意味します:

String line=null;  
try {  
    while ( (line = br.readLine()) != null) {  
            if (pw != null)  
                    pw.println(line);                   
        }
} catch (IOException e) {             
    e.printStackTrace();  
}
if (pw != null)  
       pw.flush();  

flushは蒸気を閉じるべきではないが、そうすべきではないと思いますか?それとも私はそれを別の方法で行うべきですか?

4

1 に答える 1

2

データをByteArrayOutputStreamに書き込み、それを呼び出し元に渡すことができます。BAOSへの書き込みが完了したら、入力ストリームを閉じて、出力ストリームを呼び出し元に渡します。BAOSを閉じてフラッシュし、それに関連付けられているメモリを解放するのは、呼び出し元の責任です。

于 2013-03-08T12:15:36.347 に答える