Java NIO Channel to Channel Transfers
来源:互联网 发布:淘宝类目大全2017 编辑:程序博客网 时间:2024/05/29 07:13
transferFrom()
The FileChannel.transferFrom()
method transfers data from a source channel into theFileChannel
. Here is a simple example:
RandomAccessFile fromFile = new RandomAccessFile("C:/Users/Jack/Desktop/fromFile.txt", "rw");FileChannel fromChannel = fromFile.getChannel();RandomAccessFile toFile = new RandomAccessFile("C:/Users/Jack/Desktop/toFile.txt", "rw");FileChannel toChannel = toFile.getChannel();long position = 0;long count = fromChannel.size();toChannel.transferFrom(fromChannel, position, count);
The parameters position and count, tell where in the destination file to start writing (
position
), and how many bytes to transfer maximally (count
). If the source channel has fewer thancount
bytes, less is transfered.Additionally, some SocketChannel
implementations may transfer only the data theSocketChannel
has ready in its internal buffer here and now - even if theSocketChannel
may later have more data available. Thus, it may not transfer the entire data requested (count
) from theSocketChannel
intoFileChannel
.
transferTo()
The transferTo()
method transfer from aFileChannel
into some other channel. Here is a simple example:
RandomAccessFile fromFile = new RandomAccessFile("C:/Users/Jack/Desktop/fromFile.txt", "rw");FileChannel fromChannel = fromFile.getChannel();RandomAccessFile toFile = new RandomAccessFile("C:/Users/Jack/Desktop/toFile.txt", "rw");FileChannel toChannel = toFile.getChannel();long position = 0;long count = fromChannel.size();fromChannel.transferTo(position, count, toChannel);
Notice how similar the example is to the previous. The only real difference is the which
FileChannel
object the method is called on. The rest is the same.The issue with SocketChannel
is also present with thetransferTo()
method. TheSocketChannel
implementation may only transfer bytes from theFileChannel
until the send buffer is full, and then stop.
- Java NIO Channel to Channel Transfers
- Java NIO(6-Channel to Channel Transfers)
- Java NIO Channel to Channel Transfers
- Java NIO Channel to Channel Transfers
- Java NIO (五) Channel to Channel Transfers
- Java NIO Channel to Channel Transfers
- Java NIO Channel to Channel Transfers
- Java NIO Channel to Channel Transfers
- Java NIO Channel to Channel Transfers
- 【JAVA】【NIO】6、Java NIO Channel to Channel Transfers
- Java NIO Channel
- Java NIO Socket Channel
- Java NIO(3-Channel)
- Java NIO Channel
- Java NIO笔记 Channel
- Java NIO Channel
- Java NIO--Channel
- java NIO Channel
- frame、bounds与center属性
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- git操作github代码
- SQL SERVER 2005 DBCC IND命令说明
- 微信连WIFI认证、微信支付、支付宝支付需配置的白名单
- Java NIO Channel to Channel Transfers
- E: Unable to locate package
- 编程中如何避免if(object!=null)判空语句
- cron任务详解--持续更新
- python学习之(一)python crontab的使用
- microsoft project professional 2010密钥
- RelativeLayout相对布局和LinearLayout线性布局属性
- Android Studio NDK正确配置
- MapKit之地理编码和反向地理编码(CLGeocoder、CLPlacemark)