2
私は新しいInputStream
/ByteArrayInputStream
オブジェクトに各呼び出しを構築避けたいとだけではなく、arr
パラメータをロードし、このInputStreamを再利用するには?
Object do(byte[] arr) {
InputStream is = new ByteArrayInputStream(arr);
return conv(is);
のように、ByteArrayInputStream
に裏打ちされたInputStream
を経由して、いくつかのバイナリデータを読み込み、コードの一部を持っていますクラスの既存のメンバストリームに追加することができますが、これを行う簡単な方法は見つかりません。これまたは同様の動作が許可されているのか、ストリームの推奨された使用に対してこれが許可されていますか?
"私は、それぞれの呼び出しで新しいInputStream/ByteArrayInputStreamオブジェクトを構築しないようにしたいと思います..." =>なぜですか?入力ストリームを再利用する必要はありません。さらに、入力ストリームは一般に一度だけしか準備できないと考えられています。 – Seelenvirtuose
パフォーマンス上の理由から、同じデータを何度も読んで、同じオブジェクトを使用してデータを読み込むことはしません。 – Madden
バッキングをリセットすることで新しい「ByteArrayInputStream」を作成してもパフォーマンスの問題はありませんその中に1バイトの配列があります。あなたは、あなたがあなたの質問で表現しなかったことを覚えておいて、他のいくつかの制約を持っているようです。したがって、私はそれを閉鎖するために、不明確なものとして投票します。 – Seelenvirtuose