5NIO--通道的数据传输

Posted mrchengs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5NIO--通道的数据传输相关的知识,希望对你有一定的参考价值。

 

 

 

 

 

实例1:

利用通完完成文件的复制

@Test
    public void test4() throws IOException{
                FileInputStream fis = new FileInputStream("d:\\\\a.jpg");
        FileOutputStream fos = new FileOutputStream("d:\\\\b.jpg");
        
        //获取通道
        FileChannel inChannel=fis.getChannel();
        FileChannel outChannel = fos.getChannel();
        
        //指定大小的缓冲区
        ByteBuffer buf = ByteBuffer.allocate(2048);
        
        //将通道中的数据存入缓冲区
        while(inChannel.read(buf) != -1){
            //切换成读取数据的模式
            buf.flip();
            
            //将缓冲区的数据写入通道
            outChannel.write(buf);
            
            //清空缓冲区
            buf.clear();
            
        }
        
        outChannel.close();
        inChannel.close();
        fos.close();
        fis.close();
        
    }

 

技术图片

 

以上是关于5NIO--通道的数据传输的主要内容,如果未能解决你的问题,请参考以下文章

网络编程--03NIO

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

如何在循环中创建频道?

TSINGSEE青犀视频通道FFmpeg获取视频片段的方法介绍

根据顶点世界位置Y坐标修改Metal片段着色

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段