1

InflaterInputStreamの javadoc によると、単一引数のコンストラクタ (InputStream のみ) の場合、入力ストリームは で初期化されa default decompressor and buffer sizeます。問題は、デフォルトのデコンプレッサとバッファ サイズが正確にどれくらいかということです。DeflaterOutputStreamについても同じことが言えます。

4

2 に答える 2

1

sourceを見ると、単に のインスタンスを作成していることがわかりますjava.util.zip.Inflater

public InflaterInputStream(InputStream in) {
    this(in, new Inflater());
    usesDefaultInflater = true;
}

処理の唯一の違いはInflaterInputStream、'default'Inflaterを閉じると ( を使用して) 閉じられることです。これは、 のインスタンスが他のコンストラクターのいずれかに渡されend()た場合には発生しません。Inflater

おそらく独自のものを渡すと、別の実装を使用したり、再利用したりできます。

于 2013-07-04T18:11:17.647 に答える