二javanio中的Channeltransfer内容

编程

java nio中channel操作

分散 

将channel中读取的数据分散写入多个buffer中  

聚集 

将多个buffer写入数据到同一个channel  

应用 将消息头和消息体放入到不同buffer,便于分类处理应用 将消息头和消息体放入到不同buffer,便于分类处理

Scattering Reads    

将一个channel写入到多个buffer  

将ByteBuffer数组作为入参,一个buffer写满后,才会移动到下一个buffer  

Gathering writes 

将数据写入同一个channel,相当于逆向Scattering Reads

两个通道中数据传输

两个FileChannel传输数据,就像文件的复制

FileChannel fromChannel=fromFile.getChannel(); FileChannel toChannel=toFile.getChannel(); fromChannel.transFerTo(position,count,toChannel); toChannel.transFerFrom(fromChannel,position,count);

position表示从通道中开始传输内容的位置,count表示要传输的条数

SocketChannel只会传输已准备好的数据,接收时缓存区满了停止接收

以上是 二javanio中的Channeltransfer内容 的全部内容, 来源链接: utcz.com/z/516827.html

回到顶部