netty HttpStaticFileServerHandler示例使用 RandomAccessFile是否有任何具体原因?
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 回答