1

根据InflaterInputStream的 javadoc ,对于它的单参数构造函数(只有一个 InputStream),输入流被初始化为a default decompressor and buffer size. 问题是,默认解压器和缓冲区大小到底是多少?DeflaterOutputStream 也是如此

4

2 回答 2

2

充气机只是一个

new java.util.zip.Inflator()

缓冲区大小为 512 字节。

您可以通过导航到 InflaterInputStream 构造函数的源代码来看到这一点。IDE 中没有附加 JDK 源代码?停止一切并进行设置,这是必不可少的。

于 2013-07-04T18:07:00.997 回答
1

如果您查看源代码,您会发现它只是创建了一个实例java.util.zip.Inflater

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

处理的唯一区别是,在关闭时InflaterInputStream,“默认”Inflater被关闭(使用),如果将 的实例传递给其他构造函数之一,end()则不会发生这种情况。Inflater

大概传递您自己的允许您使用不同的实现,或重用它等。

于 2013-07-04T18:11:17.647 回答