A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tangchuanping 中级黑马   /  2014-6-6 00:47  /  1865 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

InputStream OutputStream是没有readLine方法吗,是必须要转化成BufferedReader BufferedWriter才可以实现readLine方法吗。而且转化成readLine方法输出怎么提高效率的,我用字节流的read(buf),一次读取1024个字节不是比一次读一行更快吗,为什么说提高效率就要转化成BufferedReader。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

4 个回复

倒序浏览
楼主,可是BufferedReader也可以读取数组啊,而且一行行读,对于键盘录入,一行一行的转换,不是很方便吗?
回复 使用道具 举报
转换为带缓冲的字符流一般就是要用到readLine()方法,因为这个方法对键盘输入的读取,和对文本的读取比较方便。
回复 使用道具 举报
缓冲技术的使用就是为了提高效率,其实一次读取1024字节和使用缓冲的readline方法本质上是一个概念,只不过在操作文件比较大的时候使用缓冲。
回复 使用道具 举报
InputStream OutputStream肯定是没有readline()这个方法的,你想啊,这两个对象是操作字节流用的,而字节中会有"行"这的定义吗?所以java没必要个这两个类定义这个方法。
而BufferedReader BufferedWriter这两个类在实现时,他也定义了一个数组,这个数组的默认大小是8192,所以它一次是读取了8192个字节,调用readline方法后,会在这个BufferedReader这个类的内置数组中去读取字符,当碰到\r\n在返回。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马