黑马程序员技术交流社区

标题: BufferedReader问题 [打印本页]

作者: 刘晓康    时间: 2012-4-7 13:31
标题: BufferedReader问题
BufferedReade buf=new BufferedReade(new InputStreamReader())
BufferedReader为什么要与new InputStreamReader()配套用,是什么原因?
作者: 蒙武辉    时间: 2012-4-7 13:33
BufferedReader是缓冲区,用它的作用是提高读取效率。
作者: 李成    时间: 2012-4-7 13:55
BufferedReader读取的是字符流,当要读取字节流信息的时候需要把 字节流转换成字符流的转换器InputStreamReader。
如果文件直接用FileReader读取的话就不需要它了。
作者: 高铭    时间: 2012-4-7 14:27
BufferedReade是一个缓冲区 提高效率 读取字符流
InputStreamReader这个是可以让字节流和字符流转换的转换器
作者: 孙利川    时间: 2012-4-7 14:44
本帖最后由 孙利川 于 2012-4-7 14:45 编辑

BufferedReade buf=new BufferedReade(new InputStreamReader())
这句代码通常这样用:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in))
InputStreamReader的作用是将字节流转换成字符流,BufferedReader对象是字符流缓冲区对象,它可以提高读取效率。
System.in是InputStream类型,是字节流对象,它是输入设备,默认是键盘,所以要将该键盘的字节流对象转换成字符流对象,就用到new InputStreamReader(),这样可以将键盘输入作为字符流对象来处理,而new BufferedReader()是提高效率用的。
作者: 秦岩    时间: 2012-4-7 15:45
BufferdeReader是带缓冲区的字符流 使用的时候必须指定其要缓冲的字符流
BufferedReader bufr = new BufferedReader(new FileReader("xxx.txt"));
InputStreamReader相当于一个将字节流转换为字符流的装置
如果需要用BufferedReader 去读取字节流
我们就必须先将字节流转换为字符流
InputStreamReader insr = new InputStreamReader(new FileInputStream("xxx.txt"));
然后再用BufferedReader bufr = new BufferedReader(insr);

看API吧
作者: 岳民喜    时间: 2012-4-7 21:30
这两天我刚好也看到这,上面说的都很对  不懂回头再过过 就会很明白啦
作者: 郑涛    时间: 2012-4-8 00:07
InputStreamReader是字节流通向字符流的桥梁,BufferedReader是带缓冲区的字符流,用于提高读取字符效率。原理同
BufferedReader bufr = new BufferedReader(new FileReader("123.txt"));
不同的是源、流向不同;相同的是都是从流的一端到另一端,数据都发生了转移。
而BufferedReader相当于一个容器,用于对读取的内容进行缓冲,这是操作流时一种常用的提高效率的方法。
作者: pray    时间: 2014-4-26 04:00
让某位想成名的少女向媒体说她与该帖作者发生过性关系的好帖  




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