import java.io.*;
/*
* 字节传输的缓冲流
*
* 用字节传输的缓冲流进行文件的复制
*
* 实现复制文件
*
* */
public class BuffF {
public static void main(String[] args) {
// 定义路径为空
FileInputStream fis=null;
FileOutputStream fos=null;
BufferedOutputStream bos=null;
BufferedInputStream bis=null;
// 捕获异常
try {
// 读取D盘的文件
fis=new FileInputStream("D:\\aaa\\11.avi");
// 写入其他盘符的文件
fos=new FileOutputStream("D:\\IO\\11.avi");
// 使用字节缓冲流写文件
bos= new BufferedOutputStream(fos);
// 使用字节缓冲流读文件
bis=new BufferedInputStream(fis);
// 打印开始时间
long timeM = System.currentTimeMillis();
// 以一兆的速度传输
byte [] b=new byte[1024*10];
// 定义长度为0
int len=0;
// 判断len 不能等于-1
while((len=bis.read(b))!=-1){
// 复制的长度
bos.write(b,0,len);
}
// 结束时间
long end = System.currentTimeMillis();
// 打印结束时间减去开始时间得到用的时间
System.out.println(end-timeM);
} catch (Exception e) {
e.printStackTrace();
} finally{
// 异常处理
try {
// bos不等于空
if(bos!=null){
// 关闭IO流
bos.close();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(bis!=null){
bis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}