字符流的缓冲区

作者:杨裙
本次任务完成时间:2019年4月25日
开发工具与关键技术:MyEclipse 10、Java
1、 拥有缓冲区的流称为缓冲流。缓冲流的最大特点就是,可以提高写入数据和读取数据的效率。相比较而言,直接在文件读取数据和写入数据,那么比在缓冲区读取数据要慢很多。所以,当读取文件的时候,用缓冲流来读取和写入数据,其读写的效率会大大提升,这就是使用缓冲区的好处。
2、 字符流的缓冲流有BufferedReader 和BufferedWriter。BufferedReader是Reader的直接已知子类,BufferedWriter是Writer的直接已知子类。其实,辨认缓冲流就是Buffered+其本身的基类就是其各自的缓冲流。
3、 BufferedReader: 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。BufferedWrite:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
4、 字符缓冲流提供了特有方法,其它流没有:
BufferedReader:(readLine():读取一个文本行,使用readLine()读取一行数据会比较方便);
BufferedWriter:(newLine():写入一个行分隔符)
如下图:
字符流的缓冲区
注意:如果使用缓冲流就要和流结合使用,而且缓冲区一定要有被缓冲的对象,否则没有任何意义。
一、当有需求是用缓冲区复制文件,如图:
字符流的缓冲区字符流的缓冲区
注意:当用完流的时候一定要记得写一个方法,那就是close()方法,关闭流的方法。但BufferedWriter不仅有close()方法,还有一个flush()方法,当写完数据的时候,要用flush()方法刷新该流的缓冲再关闭此流,如果不关闭流,就可以不断的写数据进去,但关闭了流,就不能在写数据了,如图:
字符流的缓冲区