1. ホーム
  2. java

[解決済み] OutputStreamをInputStreamに変換する方法は?

2022-03-14 15:15:24

質問

私は今開発の段階にいて、2つのモジュールがあり、1つのモジュールからは、以下のような出力がありました。 OutputStream で、もう1つは InputStream . を変換する方法をご存知ですか? OutputStream から InputStream (逆ではなく、本当にこのような意味です) この2つの部分を接続することができるようになるのでしょうか?

ありがとうございます

解決方法は?

について OutputStream は、データを書き込む場所です。もしあるモジュールが OutputStream この場合、もう一方の端に何か読み取るものがあると予想されます。

を公開するものは InputStream 一方、このストリームをリッスンする必要があり、読み取ることができるデータがあることを示しています。

そのため InputStreamOutputStream

InputStream----read---> intermediateBytes[n] ----write----> OutputStream

どなたかがおっしゃっていたように、このような copy() メソッドから IOUtils ができるようになります。他の方法では意味がありません...これで少しは理解できたでしょうか?

UPDATEしてください。

もちろん、考えれば考えるほど、これは実際に必要なことなのだろうと思います。いくつかのコメントで Piped 入出力ストリームですが、もう一つの可能性があります。

もし、公開される出力ストリームが ByteArrayOutputStream を呼び出せば、いつでも完全な内容を取得することができます。 toByteArray() メソッドを使用します。次に、入力ストリームのラッパーを作るために ByteArrayInputStream というサブクラスがあります。この2つは擬似的なストリームで、基本的にはどちらもバイトの配列をラップしているに過ぎません。したがって、この方法でストリームを使用することは技術的には可能ですが、私にはまだ非常に奇妙に思えます...。