gpt4 book ai didi

java - 如果使用 FileChannel 调用,transferFrom 和 transferTo 是否传输所有字节?

转载 作者:行者123 更新时间:2023-11-30 08:41:40 45 4
gpt4 key购买 nike

一些互联网文档向我展示了示例,

FileChannel target;
FileChannel source;
target.trasferFrom(source, 0, source.size()); // done!

FileChannel source;
FileChannel target;
source.transferTo(0, source.size(), target); // done!

但是文档说这些方法实际上可以传输的比给定的要少。

transferFromtransferTo如果sourcetarget的实例FileChannel,传输所有给定的计数?

我不应该像这样循环吗?

for (long count = Files.size(source); count > 0L;) {
final long transferred = readable.transferTo(
readable.position(), count, writable);
readable.position(readable.position() + transferred);
count -= transferred;
}

for (long count = Files.size(source); count > 0L;) {
final long transferred = writable.transferFrom(
readable, writable.position(), count);
writable.position(writable.position() + transferred);
count -= transferred;
}

最佳答案

是的,文档是正确的,你必须循环。

关于java - 如果使用 FileChannel 调用,transferFrom 和 transferTo 是否传输所有字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34959057/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com