问题描述
我刚刚发现了这个
FileReader reader = new FileReader("SomePath");
char[] buf = new char[100];
reader.read(buf);
所以,如果FileReader本身具有读取1个以上字节的方法,为什么还要使用BufferedReader。
解决方法
因为您传递给read(char[])
方法的100个字符数组比可以从硬盘驱动器读取的最有效的块大小小得多。缓冲区使您可以以方便代码的大小进行读取,同时仍在硬件层中保持最佳读取大小。
那么BufferedReader
的最佳读取大小是多少?它取决于基础数据源。如果您不知道,请使用默认大小。