32
私はjava.io.OutputStream
にjava.nio.ByteBuffer
の内容を配置する必要があります。 (私はChannel
を代わりに持っていたが、私はそうしたくなかった)これを行う最も良い方法は何ですか?ByteBufferの内容をOutputStreamに入れる方法は?
それが読み取り専用バッファすることができるので、私はByteBufferののarray()
メソッドを使用することはできません。
また、このByteBufferを使用して、byte[]
の通常の配列を使用して、OutputStream.write()
を直接使用する間、OutputStreamへの書き込みが散在している可能性があります。
私は、チャネルだけでなく、ストリームを続けるならば、私は両方の呼び出しを混在できますか? –
確かに、毎回チャンネルを作成するコストを削減できます:) –
このアプローチでは、ByteBufferから一時的な配列にコピーしてOutputStreamに書き込むことに注意してください。パフォーマンスが重要な場合は、不必要なブロックコピーを避けるためにリファクタリングを少し行う必要があります。 –