缓冲流

概念:

对文件或其他目标频繁的读写操作,效率低,性能差。使用缓冲流的好处是,能够更高效的读写信息。

 

原理:

将数据线缓冲起来,然后一起写入或读取。

 

目的:

减少对文件的繁的读写操作,提高效率低和性能。

默认的缓存大小是8kb,每次写入时存储到缓存中的byte数组中,当数组存满时,会把数组中的数据写入文件,并且缓存下标归零。

 

字节缓冲流

BufferedInputStream:为另一个输入流添加一些功能,在创建BufferedInputStream时,会创建一个内部缓冲区数组,用于缓冲数据。

BufferedOutputStream:通过设置这个输出流,应用程序就可以将各个字节写入底层 输出流汇总,而不必针对每次字节写入调用底层系统。

 

字符缓冲流

BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符数组和行的高效读取

  • 加入字符缓存流,增强读取功能(readLine)
  • 更高效的读取数据
  • FileReader:内部使用InputStreamReader( sun.nio.cs.StreamDecoder ),解码过程,byte->char,默认缓存大小8K,不可修改
  • BufferedReader:默认缓存大小8k,可以修改,把数据直接读取到缓存中,减少每次转换过程,效率更高

 

BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入

  • FileWriter:内部使用OutputStreamWriter( sun.nio. cs.StreamEncoder),char->byte
  • BufferedWriter:同BufferedReader一样

 

代码

字节缓冲流:

输出

输入

 

字符缓冲流:

输出

 

输入

 

posted @ 2022-02-12 12:01  星雨boy  阅读(142)  评论(0)    收藏  举报