我知道默认缓冲区大小是2 Mb,这就是我正在使用的。
都不是。缓冲区的大小不会改变流的外部行为(除了间接地改变从底层流读取数据的频率)。如果您尝试read
多于缓冲区中的数据,它将耗尽缓冲区,然后直接从底层流读取其余数据。如果readLine
和换行符不包含在缓冲区中,它将做同样的事情,将数据复制到输出中,直到它找到换行符,但对流自身缓冲区的大小没有任何影响。
它使用一个内部的StringBuffer
来保持到目前为止的线路组装,它可以根据需要增长。它不会增加读缓冲区
BufferedReader不一定是面向行的。在任何情况下,它将读取2Mb(如果这是缓冲区的大小)。