JAVA NIO 翻译系列(五、Channel to Channel Transfers)

在java nio中,你可以直接传输数据从一个channel到另外一个,如果其中一个channel是FileChannel,这个FileChannel有两个方法已经为你做好了,分别是transferTo()和transferFrom()。


transferFrom()

这个方法传输数据从一个源channel到FileChannel,下面是代码例子:

position和count参数告诉目标文件从哪个位置(position)开始写,以及最大传输多少(count)个bytes。如果源channel里面的bytes的数量比count小,那么就没有任何字节被传输到目标文件。

另外,一些SocketChannel的实现类只会传输当前它本身内部所拥有的数据,即使SocketChannel后面会有更多的数据。因此从SocketChannel到FileChannel,它不会传输整个请求里面的数据到FileChannel中。


transferTo()

这个方法就是从FileChannel传输数据到其他的channel。

这个例子和上面一个很像。仅有的不同就是调用方法的对象不同,其余是一样的。这个方法就是将FileChannel的数据传输到toChannel中直到count,就停止传输。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...
    JackChen1024阅读 7,610评论 1 143
  • (转载说明:本文非原创,转载自http://ifeve.com/java-nio-all/) Java NIO: ...
    数独题阅读 826评论 0 3
  • (转载说明:本文非原创,转载自http://ifeve.com/java-nio-all/) Java NIO: ...
    柳岸阅读 833评论 0 3
  • 前言: 之前的文章《Java文件IO常用归纳》主要写了Java 标准IO要注意的细节和技巧,由于网上各种学习途径,...
    androidjp阅读 2,946评论 0 22
  • NIO 并发编程网 - ifeve.comJava NIO系列教程 笔记 http://ifeve.com...
    梓青阅读 607评论 0 0