netty HttpStaticFileServerHandler示例使用 RandomAccessFile是否有任何具体原因?
问问题
286 次
2 回答
1
我认为它让他们可以演示使用ChunkedFile
,这需要一个RandomAccessFile
. 其原因似乎是ChunkedFile
需要能够获得文件的长度。
如果我不使用 https,我不需要使用
ChunkedFile
. 所以我可以选择FileInputStream
哪个RandomAccessFile
也返回一个FileChannel
. 但我无法从中获取 fileLengthFileInputStream
是DefaultFileRegion
. 所以我认为有必要使用RandomAccessFile
.
这大致正确。但是,您可能会通过其他方式获得文件长度;例如使用File.length()
.
FileChannel
实际上,获取文件长度的方式并没有太大区别。
于 2013-07-25T12:36:25.317 回答
0
RAF 需要支持零拷贝,这需要最常从 RAF 获取的 FileChannel。
于 2013-07-25T12:51:42.970 回答