BufferedReader,BufferedWriter 为什么比 FileReader 和 FileWriter高效
2016-08-19 09:39
357 查看
FileReader fileReader = new FileReader("xxx"); FileReader.read(); FileReader.read(char[] cbuf); FileReader.read(char[] cbuf,int off, int len);
中 cbuf 的意思
FileReader 类的 read 方法三种重载形式
第一种直接读一个字符
第二种读取全部内容到 cbuf 数组中
第三种读取是指从文件off位置读入len这么长的字符串到char数组内
但这三种都是这是通过 IO 读取的内容
读一次,从 IO 获取一次数据
而 BufferedReader
BufferedReader bufReader = new BufferedReader(new FileReader("xxx")); bufReader.read(char[] cbuf) bufReader.read(char[] cbuf,int off, int len)
包装 FileReader 之后
它的 read 方法把数据读到 cbuf 内
就不是单纯通过 IO 了
public BufferedReader(Reader in, int sz)
构造函数本身可以接受 sz 来设置缓存大小
默认是 8192 (8k)
它开始会先从 IO 读取 8k 内容到自己设置的内存缓冲区内
调用 bufReader.read 方法时
会从 BufferedReader 缓存区中读取内容
避免每次 read 都通过 IO
实际上减少了 IO 访问次数。
同理
BufferedWriter 和 FileWriter 一样如此
因此
BufferedWriter BufferedReader 会相对更高效。
相关文章推荐
- FileReader,FileWriter,BufferedReader,BufferedWriter,File,FilenameFilter,PrintWriter,Seque)
- java File,FileReader,BufferedReader,BufferedWriter,FileWriter
- 黑马程序员---2015.6.24java基础笔记--FileWriter- FileReader-BufferedWriter-BufferedReader
- java I/O流(一)——FileWriter,BufferedWriter,inputStream,BufferedInputStream,InputStreamReader
- java学习10--InputStreamReader,OutputStreamWriter,FileReader,FileWriter,BufferedReader,BufferedWriter
- JavaSE--IO流(FileWriter,FileReader,BufferedWriter,BufferedReader)的用法介绍
- Java基础 - IO流之字符流,FileReader,FileWriter,BufferedReader,BufferedWriter,装饰设计模式,编码表
- 21 API-IO流(字符流(编码表,转换流,FileReader,FileWriter,BufferedReader,BufferedWriter),IO流总结)
- Java基础知识_day10_(IO流,FileWriter,FileReader,BufferedWriter,BufferedReader)
- 同样有缓冲区,为什么bufferedReader输入流不需要清空缓冲区?而bufferedWriter需要清空缓冲区呢?
- Java之IO(二)FileReader、FileWriter、BufferedReader、BufferedWriter
- 黑马程序员—Java IO流(Writer、Reader、FileWriter、FileReader、BufferedWriter、BufferedReader)
- 黑马程序员_java_IO流_FileWriter_FileReader_BufferedWriter_BufferedReader_IO异常
- IO流的补充: 字符流FileReader 和FileWriter BufferedReader和BufferedWriter的用法
- IO流---字符流(FileWriter, FileReader ,BufferedWriter,BufferedReader)
- 黑马程序员——21,字符流FileReader,FileWriter,BufferedWriter,BufferedReader,装饰设计模式,LineNumberReader
- java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr
- IO流 缓冲流 FileInputStream、BufferedInputStream、BufferedReader、 BufferedWriter、FileReader、FileWriter
- 字符流FileReader,FileWriter,BufferedWriter,BufferedReader,装饰设计模式,LineNumberReader
- 字符流学习笔记及总结(FileWriter、FileReader、BufferedWriter、BufferedReader)