RandomAccessFile--文件断点拷贝

RandomAccessFile 之 文件断点拷贝

1、关于RandomAccessFile

  • RandomAccessFile是Java.IO中提供的一个功能丰富的特殊流,该流包含对于文件读写操作,具体的使用方式和FileInoutStream和FileOutPutStream几乎一致,除此之外,RandomAccessFile还提供了对于元数据的读写操作。

2、参数mode

  • “r” 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。

  • “rw” 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。

  • “rws” 打开以便读取和写入,对于 “rw”,还要求对文件的内容或元数据的每个更新都同步写入到底层存储设备。

  • “rwd” 打开以便读取和写入,对于 “rw”,还要求对文件内容的每个更新都同步写入到底层存储设备。

3、关于文件断点拷贝

+文件正常拷贝过程中,由于客观原因出现异常,导致拷贝中途停止;下一次拷贝时读取目标文件中上次拷贝的终止位置,将文件指针设置到该位置,继续拷贝。

代码

  File file = new File("C:\\Users\\K U N\\Desktop\\35.mp4");
        File target = new File("IO_lesson",file.getName());

        RandomAccessFile reader= new RandomAccessFile(file,"r");
        RandomAccessFile writer = new RandomAccessFile(target, "rw");

        long pos = writer.length();
        //将读写指针跳转到上次的位置
        reader.seek(pos);
        writer.seek(pos);
        byte[] b = new byte[1024];
        int len;
        while ((len = reader.read(b))!=-1){
            writer.write(b,0,len);
        }

        writer.close();
        reader.close();

<—文章内容仅供参考—>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值