Java学习第40天

一、今日内容

1.缓冲流

缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有:BufferedReader、BufferedWriter、BufferedInputStream和BufferedOutputStream。

BufferedInputStreamBufferedOutputStream这两个类分别是FilterInputStreamFilterOutputStream的子类,作为装饰器子类,使用它们可以防止每次读取/发送数据时进行实际的写操作,代表着使用缓冲区。

(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类

posted @ 2020-08-14 21:20  居酿圆子  阅读(87)  评论(0编辑  收藏  举报