缓冲流
缓冲流,BufferedInputStream,BufferedOutputStream
缓冲流
缓冲流,也叫高效流,是对4个基本的Filexxx流的增强,所以也是4个流,按照数据类型分类:
字节缓冲流:BufferedInputStream,BufferedOutputStream
字符缓冲流:BufferedReader,BufferedWriter
IO 操作是很消耗性能的,缓冲流将数据加载至缓冲区,一次性读取/写入多个字节,从而避免频繁的 IO 操作,提高流的传输效率。
字节缓冲流这里采用了装饰器模式来增强 InputStream
和OutputStream
子类对象的功能。
字节流和字节缓冲流的性能差别主要体现在我们使用两者的时候都是调用 write(int b)
和 read()
这两个一次只读取一个字节的方法的时候。由于字节缓冲流内部有缓冲区(字节数组),因此,字节缓冲流会先将读取到的字节存放在缓存区,大幅减少 IO 次数,提高读取效率。
字节缓冲流
构造方法
public BufferedInputStream(InputStream in) :创建一个新的缓冲输入流。
**public BufferedOutputStream(OutputStream out)**: 创建一个新的缓冲输出流。
1 |
|
字符缓冲流
构造方法
**public BufferedReader(Reader in)**:创建一个 新的缓冲输入流。
**public BufferedWriter(Writer out)**: 创建一个新的缓冲输出流。
1 |
|
public void newLine():是 java.io.BufferedWriter
类的方法之一。这个方法用于写入一个行分隔符到输出流中,具体的行分隔符由系统属性 line.separator
决定。
1 |
|
public String readLine():是 java.io.BufferedReader
类的方法之一。这个方法用于从输入流中读取一行文本数据,并返回一个包含该行数据的字符串。如果到达文件末尾,则返回 null
。
1 |
|