一、缓冲流
作用: 加速数据读取和写入的速度
原因: 因为缓冲流在用户空间开辟了指定大小缓存, 然后使用一次性的从内核空间中读取指定缓存大小的字节,然后使用read方法返回,减少了用户状态和内核状态之间的切换,所以减少了时间。
字节缓冲流
BufferedInputStream
构造方法:
BufferedInputStream(InputStream in)
创建一个 BufferedInputStream并保存其参数,输入流 in ,供以后使用。
BufferedInputStream(InputStream in, int size)
创建 BufferedInputStream具有指定大小,并保存其参数,输入流 in ,供以后使用。
主要方法:
int read()
int read(byte[] b, int off, int len)
BufferedOutputStream
构造方法:
主要方法:
void flush() 刷新缓冲输出流。
void write(byte[] b, int off, int len) 从指定的字节数组写入 len个字节,偏移 off
void write(int b) 将指定的字节写入缓冲的输出流。
字符缓冲流
BufferReader
构造方法:
BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz) 创建指定大小的输入缓冲区的缓冲字符输入流。
主要方法:
String readLine() 读一行文字。
Stream lines() 返回个 Stream,其元素是从这个 BufferedReader读取的行。
BufferWriter
构造方法:
BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz) 使用给定大小的输出缓冲区。
主要方法:
void newLine() 写一行行分隔符。
void write(char[] cbuf, int off, int len) 写入字符数组的一部分。
void write(int c) 写一个字符
void write(String s, int off, int len) 写一个字符串的一部分。