2016-11-15 4 views
3

ですか?または、おそらく別々の文字列が各readline()に置かれ、取られたメモリの最大スペースは最も長い文字列のボリュームですか?JavaのBufferedReader.readLine()はファイル全体をメモリに格納しますか?

+2

ファイルからバッファをいっぱいにします。ファイル全体が一度に読み込まれるわけではありません(ファイルがバッファより小さい場合を除く)。 –

答えて

6

ですか?

それとも唯一の独立した文字列は、それぞれのreadline()

と撮影したメモリーの最大容量は、のボリュームであるに置かれ最長の文字列ですか?

それは緩衝読者。つまり、バッファがあることを意味します。利用可能なデータとそれ自身の制限(4096文字)の範囲で、バッファをいっぱいにします。これは、ラインターミネータのためにバッファをスキャンします。その前のデータを次の行として返します。それをバッファから削除します。バッファが空になると、バッファは再び空になります。

readLine()の結果で発信者が行うことは、発信者次第です。

+0

[あった](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/io/BufferedReader.java#88)。今は8192です。 –

関連する問題