Java学习第40天
一、今日内容
1.缓冲流
缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有:BufferedReader、BufferedWriter、BufferedInputStream和BufferedOutputStream。
BufferedInputStream
和BufferedOutputStream
这两个类分别是FilterInputStream
和FilterOutputStream
的子类,作为装饰器子类,使用它们可以防止每次读取/发送数据时进行实际的写操作,代表着使用缓冲区。
(1)BufferedReader与BufferedWriter
BufferedReade输入字符流,如果要想使用BufferedReade就需要将一个字节流变成字符流,所有,Java提供了以下两个转换类:
-
将输入的字节流变为字符流:InputStreamReader
-
将输出的字符流变为字节流:OutputStreamWriter
在BufferedReader类中提供了专门的读取操作
public String readLine() throws IOException
示例:使用BufferedReader读取内容
示例:使用BufferedWriter写数据
(2)BufferedInputStream和BufferedOutputStream
使用BufferedInputStream和BufferedOutputStream通常用来读取或写入影像数据,例如图片、影片等。
-
BufferedInputStream
是缓冲输入流。它继承于FilterInputStream
。 -
BufferedInputStream
的作用是为另一个输入流添加一些功能,例如,提供“缓冲功能”以及支持mark()标记
和reset()重置方法
。 -
BufferedInputStream
本质上是通过一个内部缓冲区数组实现的。例如,在新建某输入流对应的BufferedInputStream
后,当我们通过read()
读取输入流的数据时,BufferedInputStream
会将该输入流的数据分批的填入到缓冲区中。每当缓冲区中的数据被读完之后,输入流会再次填充数据缓冲区;如此反复,直到我们读完输入流数据位置。
二、问题
暂无
三、明日学习
scanner类