目录

1.缓冲流的基本原理:

2.字节缓存流

3.字符缓存流

4.字符缓存流特有的方法


1.缓冲流的基本原理:

1、使用了底层流对象从具体设备上获取数据,并将数据存储到缓冲区的数组内。
2、通过缓冲区的read()方法从缓冲区获取具体的字符数据,这样就提高了效率。
3、如果用read方法读取字符数据,并存储到另一个容器中,直到读取到了换行符时,将另一个容器临时存储的数据转成字符串返回,就形成了readLine()功能。
 

也就是说在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。

字节缓存流 BufferedInputStream BufferedOutputStream
字符缓存流 BufferedInputStrea BufferedWriter

2.字节缓存流

构造方法:
public BufferedInputStream(InputStream in) :创建一个新的缓冲输入流,注意参数类型为InputStream。
public BufferedOutputStream(OutputStream out): 创建一个新的缓冲输出流,注意参数类型为OutputStream。

示例代码:

//构造方式一: 创建字节缓冲输入流【但是开发中一般常用下面的格式申明】
FileInputStream fps = new FileInputStream(b.txt);
BufferedInputStream bis = new BufferedInputStream(fps)

//构造方式一: 创建字节缓冲输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("b.txt"));

///构造方式二: 创建字节缓冲输出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt"));

3.字符缓存流

构造方法:

public BufferedReader(Reader in) :创建一个新的缓冲输入流,注意参数类型为Reader
public BufferedWriter(Writer out): 创建一个新的缓冲输出流,注意参数类型为
Writer。
示例:

// 创建字符缓冲输入流
BufferedReader br = new BufferedReader(new FileReader("b.txt"));
// 创建字符缓冲输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));

4.字符缓存流特有的方法

  • BufferedReader:public String readLine(): 读一行数据。 读取到最后返回null
  • BufferedWriter:public void newLine()换行,由系统属性定义符号。