0

作为一个新的 xz-javadoc 用户,我正在尝试使用 XZInputStream 来读取解压缩的字节。因此,我正在阅读 xz-javadoc ( http://tukaani.org/xz/xz-javadoc/org/tukaani/xz/XZInputStream.html )。

在文档页面中,read()方法描述中有以下文字:

使用 read() 从此输入流中读取大量数据可能效率低下。如果您需要一次读取一个字节的大量数据,请将其包装在 BufferedInputStream 中。

这是什么意思?将此输入流包装到 BufferedInputStream?

4

1 回答 1

1

这是什么意思?将此输入流包装到 BufferedInputStream?

这意味着:

InputStream is = new BufferedInputStream(new XZInputStream(file));
int by;
while ((by = is.read()) != -1)
{
     // do stuff with "by"
}
is.close();

因此,尽管您正在逐字节读取,但您的输入是缓冲的。这里还有更长的解释。

于 2016-08-14T11:00:33.807 回答