IO 字节流中包装流Buffered
BufferedInputStream、BufferedOutputStream
属于: 字节流 包装流 他们的使用需要依赖一个基本的字节流 Buffered表示带有
缓冲的
字节流可以操作一切类型的文件,因为任何文件在计算机上都是按照字节的方式进行
存储,因此我们也将字节流称为 万能流
应用程序应该尽量的减少磁盘的访问次数
默认自带了8K大小的缓冲区,可以极大的减少磁盘的IO次数,提升文件读写效率
package com.qf.java_day22;
import java.io.*;
public class TestBufferedStream {
public static void main(String[] args) {
BufferedInputStream bis = null;
BufferedOutputStream bos = null ;
try {
//1.创建一个字节输入流,指向要复制的源文件
//将fis包装成带缓冲的字节输入流
bis =new BufferedInputStream(new FileInputStream("D:\\text.txt"));
//2.创建一个字节输出流指向复制后的目标文件
//将fos包装成带缓冲的字节输出流
bos = new BufferedOutputStream(new FileOutputStream("D:\\target\\bak.wmv"));
//文件的读写过程和基本流一模一样
int r;
while((r=bis.read()) != -1){
bos.write(r);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
//关闭流
bos.close();
bis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}