简介
缓冲流也称高效流,目的是增强读写效率。
常用类
BufferedOutputStream:字节缓冲输出流
// 构造方法
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out, int size) //指定缓冲大小
//源码,默认大小8192b默认1KB
public BufferedOutputStream(OutputStream out) {
this(out, 8192);
}
// 写入文件与fileOutputStream 类似
public class Demo12 {
public static void main(String[] args) throws IOException {
FileOutputStream outputStream = new FileOutputStream("a.txt");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
bufferedOutputStream.write("aebec".getBytes());
bufferedOutputStream.flush();
bufferedOutputStream.close();
}
}
}
BufferedInputStream:字节缓冲输入流
//构造方法
BufferedInputStream(InputStream in)
BufferedInputStream(InputStream in, int size)
// 读取
public class Demo12 {
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream("a.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
int len = 0;
while((len=bufferedInputStream.read()) != -1)
{
System.out.println(len);
}
bufferedInputStream.close();
}
}
BufferedWriter:字符缓冲输出流
//构造方法
BufferedWriter(Writer out)
BufferedWriter(Writer out, int sz)
public class Demo13 {
public static void main(String[] args) throws IOException {
FileWriter fileWriter = new FileWriter("a.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("世界你好");
//根据不同操作系统换行
bufferedWriter.newLine();
bufferedWriter.write("我很好");
bufferedWriter.flush();
bufferedWriter.close();
}
}
BufferedReader:字符缓冲输入流
//构造方法
BufferedReader(Reader in)
BufferedReader(Reader in, int sz)
public class Demo14 {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader("a.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String s = null;
// 每次读取一行,文件结尾返回null
while ((s = bufferedReader.readLine()) != null)
{
System.out.println(s);
}
bufferedReader.close();
}
}