NioCopy文件

步骤:

1.创建输入输出流  fis fos

2.创建通道  fis.getchannel()  fos.getchannel();

3.创建缓存区      ByteBuffer buffer = ByteBuffer.allocate(1024);

4.遍历缓存区

  buffer.clear();

  readeChannel.read(buffer);

  buffer.flip();

 writeChannel.write(channel);

package com.somp.NioCopy;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * Nio文件copy
 * @author Administrator
 *
 */
public class NioCopy {
    /**
     * 1.初始化缓存区
     * 2.获取通道
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        //读操作
        FileInputStream fileInputStream = new FileInputStream("C:\\HomeStatisticsServiceImpl.java");
        //写操作
        FileOutputStream fos = new FileOutputStream("abc.java");
        //获取通道
        FileChannel readChannel = fileInputStream.getChannel();
        FileChannel writeChannel = fos.getChannel();
        //声明缓存区
        ByteBuffer buffer = ByteBuffer.allocate(1024);
        while (true) {
            buffer.clear();
            try {
                //通道开始读取缓存区
                int read = readChannel.read(buffer);
                if(read==-1){
                    break;
                }else{
                    buffer.flip();
                }
                    writeChannel.write(buffer);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        fos.close();
        fileInputStream.close();
    }

}

posted on   admingy  阅读(90)  评论(0编辑  收藏  举报

编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示