Java复制、读取大文件的固定套路

本文介绍了一种在Java中高效复制大文件的方法。通过使用RandomAccessFile类进行边读边写操作,配合while循环和固定大小的byte数组,实现文件的快速复制。此方法适用于需要频繁处理大文件的应用场景。
摘要由CSDN通过智能技术生成

Java复制、读取大文件的固定套路

    /**
     * 测试文件拷贝的方法
     * @throws IOException 
     */
    @Test
    public void copyFileTest() throws IOException {
        // 边读,边写
        File old = new File("msg/123123123.txt");
        File copy = new File("msg/123123123-副本.txt");
        // rafRead对象专门用于读取旧文件中的字节
        RandomAccessFile rafRead = new RandomAccessFile(old, "r");
        // rafWrite专门用于将读取到的字节写入到新的文件中
        RandomAccessFile rafWrite = new RandomAccessFile(copy, "rw");
        /* 复制、读取大文件的固定套路
         * Step1:定义byte数组,适当限定数组大小
         * Step2:使用while循环,反复调用read方法
         *          每次循环读取和数组大小相同的字节数
         * 说明:read方法和write方法一样,每读取一个字节,就向后移动一个位置
         *      读取了多少个字节,就向后移动了多少个位置
         *      调用write方法,将读取到的字节数组,写入新文件中
         *      一旦read方法返回-1,说明读到末尾,就退出循环
         * Step3:*关闭两个raf对象*
         */
        byte[] bytes = new byte[1024];
        while(rafRead.read(bytes) != -1) {
            rafWrite.write(bytes);
        }
        System.out.println("复制完成");
        rafRead.close();
        rafWrite.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值