8

私は、新しいを使用してJavaでいくつかのプロセスをパイプする方法を理解しようとしてきましたProcessBuilder。自分がやりたいことの適切な例を見つけることができず、自分でやろうとすると、プロセスがハングします。cat test.txt | wcと同等のコードを実行するが、シェルを介さないコードの非常に単純な例をいただければ幸いです。

- アップデート -

わかりやすくするために。ストリームの読み取りと書き込みによってパイプをシミュレートする方法があることを私は知っています。これは、Java7で導入されたredirectInputメソッドとredirectOutputメソッドによって自動的行われるのではないかと思います。

4

2 に答える 2

4

この場合、パイプは必要ありません。

"grep bla test.txt"

ただし、パイプが必要な場合は、bashのようなシェルを使用する必要があります

"/bin/bash", "-c", "grep foo text.txt | grep bar"
于 2011-11-23T13:48:53.210 に答える
3

Input-の単純なコピーループを使用して、各/OutputStreamペアの子スレッドを開始しrun()ます。

于 2011-11-23T13:49:18.757 に答える