字节缓冲流
●缓冲流: BufferedInputStream/ BufferedOutputStream
●提高I0效率,减少访问磁盘的次数;
●数据存储在缓冲区中,flush是将缓存区的内容写入文件中,也可以直接close。
1.实例化BufferedInputStream
//1.实例化BufferedInputStream
FileInputStream fis=new FileInputStream("d:\\aa.txt");
BufferedInputStream bis=new BufferedInputStream(fis);
2.读取文件
int data=0;
//private static int DEFAULT_BUFFER_SIZE = 8192;
//BufferedInputStream的缓冲区为8K,也可以自定义缓冲区
while ((data=bis.read())!=-1){
System.out.print((char)data);
}
3.关闭BufferedInputStream
bis.close();//默认关闭FileInputStream
运行结果:
4.实例化BufferedOutputStream
//4.实例化BufferedOutputStream
FileOutputStream fos=new FileOutputStream("d:\\buffer.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos);
5.写入文件
//for循环写10遍 hello,world!
for (int i = 0; i < 10; i++) {
bos.write("hello,world!".getBytes());//写入8K的缓冲区里
bos.flush();//刷新到硬盘中
}
6.关闭BufferedOutputStream(内部调用flush方法)
bos.close();
运行结果: