netty学习笔记四、文件读取、写入代码实现

package com.hao.demo.netty.nio;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * @author haoxiansheng
 * @date 2020-05-11
 */
public class NIOFileChannel03 {
    public static void main(String[] args) throws Exception{

        String path1 = "/Users/haoxiansheng/Downloads/Spring-Family/SpringBoot-Learning/influxdbdemo/file01.txt";

        String path2 = "/Users/haoxiansheng/Downloads/Spring-Family/SpringBoot-Learning/influxdbdemo/file02.txt";
        FileInputStream fileInputStream = new FileInputStream(path1);
        FileChannel fileChannel01 = fileInputStream.getChannel();

        FileOutputStream fileOutputStream = new FileOutputStream(path2);
        FileChannel fileChannel02 = fileOutputStream.getChannel();

        ByteBuffer buffer = ByteBuffer.allocate(512);

        while (true) { // 循环读取
            // 重要的复位 没有加的话是又问题的 position = limit
            buffer.clear();

            int read = fileChannel01.read(buffer);
            if (read == -1) {
                break;
            }
            buffer.flip();

            // 将buffer中的数据写入到 fileChannel02
            fileChannel02.write(buffer);

        }
        // 关闭流
        fileChannel01.close();
        fileChannel02.close();
        fileInputStream.close();
        fileOutputStream.close();

    }
}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值