IDEA-使用字符缓冲流做文件复制

import java.io.*;

/*
    文件复制练习:一读一写
    
    明确:
        数据源:D:\QQ\SogouInput\SogouExe\SogouSvc.exe
        数据的目的地:E:\SogouSvc.exe
    文件复制的步骤:
        1.创建字节缓冲输入流对象,构造方法中传递字节输入流
        2.创建字节缓冲输出流对象,构造方法中传递字节输出流
        3.使用字节缓冲输入流对象中的方法read,读取文件
        4.使用字节缓冲输出流中的方法write,把读取的数据写入到内部缓冲区中
        5.释放资源(会先把缓冲区中的数据,刷新到文件中)
 */
public class Demo02CopyFile {
    public static void main(String[] args) throws IOException {
        //赋值之前先获取毫秒值
        long s = System.currentTimeMillis();
        // 1.创建字节缓冲输入流对象,构造方法中传递字节输入流
        //从这个地址复制文件
        BufferedInputStream bis =  new BufferedInputStream(new FileInputStream("D:\\四史\\四史视频教程\\四史教育答题.mp4"));
        //2.创建字节缓冲输出流对象,构造方法中传递字节输出流
        //将文件复制到这个地址
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:\\四史教育答题.mp4"));
        //3.使用字节缓冲输入流对象中的方法read,读取文件
        //一次读取一个字节写入一个字节的方式
//        int len = 0;
//        while ((len = bis.read()) != -1) {
//           bos.write(len);//6000
//        }
        //使用数组缓冲区读取多个字节,写入多个字节
        //在我的笔记本使用数组的单个字节速度最快
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = bis.read(bytes)) != -1) {
            //bos.write(len);//130
            bos.write(bytes,0,len);//2311
        }

        bos.close();//先关读取的
        bis.close();//再关源文件

        long e = System.currentTimeMillis();
        System.out.println("赋值文件共耗时:" + (e-s) + "毫秒");
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值