黑马程序员技术交流社区

标题: 字节流是没有readLine方法吗 [打印本页]

作者: tangchuanping    时间: 2014-6-6 00:47
标题: 字节流是没有readLine方法吗
InputStream OutputStream是没有readLine方法吗,是必须要转化成BufferedReader BufferedWriter才可以实现readLine方法吗。而且转化成readLine方法输出怎么提高效率的,我用字节流的read(buf),一次读取1024个字节不是比一次读一行更快吗,为什么说提高效率就要转化成BufferedReader。
作者: 阿苏勒    时间: 2014-6-6 18:01
楼主,可是BufferedReader也可以读取数组啊,而且一行行读,对于键盘录入,一行一行的转换,不是很方便吗?
作者: GoodBoy123    时间: 2014-6-6 18:32
转换为带缓冲的字符流一般就是要用到readLine()方法,因为这个方法对键盘输入的读取,和对文本的读取比较方便。
作者: Jack_Chen    时间: 2014-6-7 14:42
缓冲技术的使用就是为了提高效率,其实一次读取1024字节和使用缓冲的readline方法本质上是一个概念,只不过在操作文件比较大的时候使用缓冲。
作者: yanghu    时间: 2014-6-7 16:32
InputStream OutputStream肯定是没有readline()这个方法的,你想啊,这两个对象是操作字节流用的,而字节中会有"行"这的定义吗?所以java没必要个这两个类定义这个方法。
而BufferedReader BufferedWriter这两个类在实现时,他也定义了一个数组,这个数组的默认大小是8192,所以它一次是读取了8192个字节,调用readline方法后,会在这个BufferedReader这个类的内置数组中去读取字符,当碰到\r\n在返回。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2