- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代码被分割成 Grails Web 应用程序的多个函数,但其想法是这样的
MultipartFile mf = request.getPart();
InputStream is = mf.getInputSteam();
Long size = mf.getSize();
ReadableByteChannel source = Channels.newChannel(inputStream);
FileChannel target = new FileOutputStream(new File('/path/to/file.jpg')).getChannel();
target.transferFrom(source, 0, size);
大小正确,InputStream 有效并且 ReadableByteChannel/FileOutputStream 已正确创建,但没有任何内容写入输出文件。
我宁愿用经典的“传输”方法对其进行编码,但我尝试了缓冲区方法,效果并不好
ByteBuffer buff = ByteBuffer.allocate(bufferSize)
FileChannel target = new FileOutputStream(targetFile).getChannel()
ReadableByteChannel source = Channels.newChannel(inputStream)
while (source.read(buff) >= 0 || buff.position() > 0) {
buff.flip()
target.write(buff)
buff.compact()
}
我错过了什么?
最佳答案
检查transferFrom()的结果,它返回大小transferrde,使用try()来确保这些流在您期望的时候关闭 - 特别是对于“new FileOutputStream”/“FileChannel target”
关于java - 使用 ReadableByteChannel 和 TransferFrom() 编写输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62206765/
我尝试使用 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)更快???
我是一名优秀的程序员,十分优秀!