FileInputStream是否具有内部缓冲区

时间:2011-09-16 15:24:29

标签: java performance file-io

This问题包括以下令人惊讶的(对我而言)断言

  

在阅读文件时,Java和Perl都很难找到一个适合所有默认缓冲区大小的文件

然而,

The Javadoc for FileInputStream没有提到具有自己的缓冲区的类。既然有一个BufferedInputStream类,它为什么要这样呢?类FileInputStream的对象是否有自己的缓冲区?我意识到O / S本身会有缓冲区;我不是在问这些。

2 个答案:

答案 0 :(得分:2)

它至少在OpenJDK中没有。

但是,我没有在合同中看到任何禁止存在此类缓冲区的内容,只要它对用户透明。但是,鉴于为此目的存在BufferedInputStream,这没有多大意义。

答案 1 :(得分:2)

您提到的SO问题专门针对InputStreamReaderBufferedReader,而不是您谈论的* Stream类。它甚至提到了BufferedReader的默认缓冲区大小。

我知道这是一个很长的帖子,但你应该阅读所有内容,而不是在阅读完第一句话之后将其分解为另一个问题。

为了给你答案,看看 Matt Ball 提供的链接,显然