一.
如果按照之前的说法, 缓冲区就是数组的话, 那么写 bufr.read(buf) 就不能理解这句话只能看成 bufr 这个缓冲区对象, 采用 read 方法, 将数据读到 buf 中, 而不是缓冲区对象 bufr 读取 buf 数组
缓冲区对象有自己具体的方法, 而不是继承父类的 read 读取单个字符的方法, 缘于原理的不同
readline 方法相较于缓冲区对象自己特有的 read 单个字符的方法, 更为优化了以前是将硬盘中的数据都读到内存的缓冲区数组中, 现在是做了限定, 都满一行就操作一行
对于连续读取单个字符, 后以字符串输出的形式, 完全可以用 StringBuilder 或着 StringBuffer 来操作 StringBuilder 底层是数组, 而且是可变长度并返回的是字符串
来源: http://www.bubuko.com/infodetail-2513541.html