34、缓冲流
1、字节缓冲输出流
BufferedOutputStream字节缓冲输出流
继承了OutputStream
1.1、构造
BufferedOutputStream(OutputStream out)
// 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
BufferedOutputStream(OutputStream out, int size)
// 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。
参数:OutputStream字节输出流
可以传递一个FIleOutputStream,缓冲流会给FIleOutputStream增加一个缓冲区,提高其性能
int size:指定缓冲流内部缓冲区的大小,不指定即为默认值
1.2、使用
- 创建FIleOutputStream对象,构造方法中绑定输出的目的地
- 创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FIleOutputStream对象效率
- 使用BufferedOutputStream对象的write方法,把数据写入到内部缓冲区
- 使用BufferedOutputStream的flush方法,把缓冲区数据刷新到文件
- 释放资源
2、字节缓冲输入流
BufferedInputStream继承了InputStream
2.1、构造
BufferedInputStream(InputStream in)
//创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
BufferedInputStream(InputStream in, int size)
//创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
参数:
InputStream字节输入流
int size:指定缓冲区大小
2.2、使用
- 创建FIleInputStream对象,构造方法中绑定读取的数据源
- 创建BufferedInputStream对象,构造方法中传递FileInputStream对象,
- 使用BufferedInputStream的read方法读取文件
- 释放资源
3、字符缓冲输出流
BufferedWriter继承了Writer,字符流可以传输中文
3.1、构造
BufferedWriter(Writer out)
//创建一个使用默认大小输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)
//创建一个使用给定大小输出缓冲区的新缓冲字符输出流。
参数:
Writer:字符输出流
int sz :缓冲区大小
特有方法
void newLine();写入一个行分隔符
3.2、使用
- 创建Writer对象,构造绑定输出目的地
- 创建字符缓冲输出流,构造方法传递Writer对象
- 调用Write方法,把数据写入缓冲区
- 调用flush方法
- 释放资源
4、字符缓冲输入流
BufferedReader继承了Reader
4.1、构造
BufferedReader(Reader in)
//创建一个使用默认大小输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz)
//创建一个使用指定大小输入缓冲区的缓冲字符输入流。
参数:
Reader:字符输入流
特有的成员方法:
String readLine()
//读取一个文本行,通过行的终止符判断行结束
返回值:
包含该行内容的字符串,不包含任何终止符
4.2、使用
- 创建Reader对象
- 创建字符缓冲输入流对象
- 使用read/readLine方法读取文本
- 释放资源