java - 違い - 空間分割多重 光ファイバ




ストリームを逆多重化できますか? (2)

私はProcess stderr( getErrorStream )とstdout( getInputStream )を別の場所で消費される単一のStreamに結合したいと考えています。 私のためにJavaのライブラリにはこれがありますか?

注: 外部ライブラリはありません 。 私はApache Commons IOの提供するソリューションの存在には興味がありません。 私は、JDKに付属のものがあるかどうかだけを知りたいです。


SequenceInputStreamを使用して2つのInputStreamをマージすることができます。


ProcessBuilder.redirectErrorStream(boolean)は、必要な処理を行います。

public ProcessBuilder redirectErrorStream(boolean redirectErrorStream)

このプロセスビルダのredirectErrorStreamプロパティを設定します。

このプロパティがtrue 、このオブジェクトのstart()メソッドによって次に開始されたサブプロセスによって生成されたエラー出力は標準出力とマージされるため、 Process.getInputStream()メソッドを使用して両方を読み取ることができます。 これにより、エラーメッセージを対応する出力に関連付けることが容易になります。 初期値はfalseです。

編集:@Since Java 5以降が広く利用できるようにする必要があります。







io