黑马程序员技术交流社区

标题: IO读取文件 [打印本页]

作者: 马姗姗    时间: 2014-1-14 16:31
标题: IO读取文件
本帖最后由 马姗姗 于 2014-1-15 15:09 编辑

BufferReader FileInputStream FileReader
这三个读取的时候一个按行读取,一个按字节读取,最后一个按字符读取?
那为什么不都用BufferReader呢?这样不是省事多了?
谢谢了

作者: 大大老伴要跪IT    时间: 2014-1-14 18:09
BufferedReader是高效字符流,读取文本文件的效率比基本流FileReader要快很多。一般读取文本文件我们用BufferedReader.而 FileInputStream 是用来读取字节流文件的,BufferedReader是不可以读取的。
作者: 小悠久    时间: 2014-1-14 18:38
BufferReader是一个包装类或者可以称为缓冲流,同样还有一个BufferInputStream 作用与字节流缓冲。   FileInputStream FileReader分别是基于字节跟字符操作的,这是基本也是最直接的文件输入流,但是它们都是一个字节或一个字符的在操作流,这样效率是很低的。所以一般使用都是会将它们用BufferReader和BufferInputStream 缓冲后再使用,用缓冲流包装后,还可以设置缓存大小,这样操作流对象效率就高得多了,特别是在输出流里,缓冲流的作用非常大。
当你要读取字符输入流,用BufferReader是非常好的选择。InputStreamReader这个类也是很重要的,用于字节向字符流的转换 。
作者: 花生壳    时间: 2014-1-14 18:55
使用缓冲buffer的确可以一次性的读取一块数据,但是速度的话字节读取还是要快的。毕竟读取字符还需要一个转换字节的过程,因为,程序使用的是字节来存储的!




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