2011-09-16 70 views
1

This問題包括以下surpising(對我來說)斷言確實的FileInputStream有一個內部緩衝區

Java和Perl的嘗試挺難的文件

閱讀時找到一個放之四海而皆準的所有默認的緩衝區大小

The Javadoc for FileInputStream但是沒有提及具有其自己的緩衝器的類。爲什麼它,鑑於有一個BufferedInputStream類? FileInputStream類的對象是否有自己的緩衝區?我意識到O/S本身會有緩衝區;我不是在問這些。

+0

我想你回答了你自己的問題。 'FileInputStream'沒有緩衝區,但'BufferedInputStream'有一個默認緩衝區'8192' bytes –

+2

看起來像一個基於謠言的謠言。 –

+3

盧克,使用來源:http://www.docjar.com/html/api/java/io/FileInputStream.java.html –

回答

2

您提到的SO問題特別涉及InputStreamReaderBufferedReader,而不是您所討論的*流類。它甚至提到了BufferedReader的默認緩衝區大小。

我知道這是一篇很長的文章,但是您應該閱讀它,而不是在閱讀其第一句後再讀它。

爲了給你一個答案,查看由馬特·鮑爾,顯然提供的鏈接。

2

它不,至少在OpenJDK中。

但是,我沒有看到它的合同中會禁止存在這樣一個緩衝區,只要它對用戶是透明的。儘管如此,BufferedInputStream就是爲此目的而存在的。