- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一些互联网文档向我展示了示例,
FileChannel target;
FileChannel source;
target.trasferFrom(source, 0, source.size()); // done!
或
FileChannel source;
FileChannel target;
source.transferTo(0, source.size(), target); // done!
但是文档说这些方法实际上可以传输的比给定的要少。
是transferFrom
和transferTo
,如果source
或target
是的实例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/
我尝试使用 RandomAccessFile TransferFrom 函数从位置 1300(以 uint8 block 形式)开始的文件 filein 传输到 fileto。 fromfile =
FileChannel.transferFrom(source, 0, source.size()) 在尝试复制大小约为 2GB 的文件时给出以下 OutOfMemory 异常。我了解由于文件较大而导
在测试包含 transferFrom 的函数时,我的代码正在恢复。还原被隔离到这一行,当被注释掉时,它运行正常。 到目前为止我的(错误的)假设: 发行批准代币(错误的from地址,或错误的Loan合约
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); ReadableByteChannel rbc = Channel
我刚刚了解了 java nio 包和 channel ,现在,我尝试使用 channel 编写一个非常简单的文件传输程序。我的目标是摆脱所有这些按字节阅读的东西。作为第一次尝试,我编写了以下服务器代码
我正在尝试使用 NIO 通过transferFrom 将多个较小的文件组合成一个文件。 对transferFrom的调用返回0。也不异常(exception)。未执行任何操作来打开同步行为。
我正在为 FileChannel 编写实用程序类 以下方法看起来可能有效。 // tries to transfer as many bytes as specified public static
我正在开发一个处理相当大的负载的 Http 服务器。由于 Netty 提供零拷贝,我想到了使用 Netty 的零拷贝对有效负载进行零复制。但似乎 Netty 只提供了 transferTo(Writa
我正在研究 NIO 库。我正在尝试监听端口 8888 上的连接,一旦连接被接受,就将该 channel 中的所有内容转储到 somefile。 我知道如何使用 ByteBuffers 来做到这一点,但
代码被分割成 Grails Web 应用程序的多个函数,但其想法是这样的 MultipartFile mf = request.getPart(); InputStream is = mf.
下面是我的代码。我是否正确注意到 transferFrom 不会修改正在转移到的 channel 的位置? 这是行不通的。它只是复制第一个文件。 问候。 File file1 = new File(b
我需要一些关于 JProgressBar 组件的帮助。我的程序使用 java.nio FileChannels 将文件从一个地方复制到另一个地方。实际的复制方法是transferFrom()。 我现在
一些互联网文档向我展示了示例, FileChannel target; FileChannel source; target.trasferFrom(source, 0, source.size())
为什么在某些 JVM/OS 组合上 java.nio.FileChannel transferTo() 和 transferFrom() 比逐字节传输(基于流或使用 ByteBuffer)更快???
为什么在某些 JVM/OS 组合上 java.nio.FileChannel transferTo() 和 transferFrom() 比逐字节传输(基于流或使用 ByteBuffer)更快???
我是一名优秀的程序员,十分优秀!