文件字节输入\输出模拟文件复制操作

1、文件复制(模拟)简介:

  • 1.1、使用字节流的输入&输出模拟文件复制:
  • 1.1.1)、先从磁盘空间读取文件到内存,
  • 1.1.2)、然后将读取到的字节流数据写出到指定磁盘文件中(使用文件字节流复制文件可以复制任意类型的文件)
  • 第一种实现方式是每读取一个字节数据就写一个字节数据 --效率较慢
  • 第二种方式是读取多个字节数据然后将这读取到的多个字节数据写到磁盘中 – 较上一种方式效率高
  • 资源释放:先开始的后结束,即先释放字节输出流操作(写操作),再释放字节输入流操作(读操作)

2、代码实现:

public class FileCopyDemo {
    public static void main(String[] args) throws IOException {
        //读取文件MyBatis01\\fileAppend.txt,复制到MyBatis01\\A\\fileAppend.txt
        //文件字节流输入
        FileInputStream fis = new FileInputStream("MyBatis01\\fileAppend.txt");
        //文件字节流输出
        FileOutputStream fos = new FileOutputStream("MyBatis01\\A\\fileAppend.txt");

        //第一种实现方式:读取一个字节写入一个字节
        int len = 0; //读取和写入的有效字节长度
        while((len = fis.read()) != -1){
            fos.write(len);   //写入(文件输出流操作)的长度
        }

        //第二种实现方式:读取一定长度字节数据,写入一定长度字节数据
        byte[] bytes = new byte[1024];  //存储读取到的字节数据的长度
        int l = 0;  //读取字节数据的有效长度
        while((l = fis.read(bytes)) != -1){
            fos.write(bytes,0,l);
        }

        //释放资源
        fos.close(); //先释放写操作
        fis.close(); //后释放读操作
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值