1

netty HttpStaticFileServerHandler示例使用 RandomAccessFile是否有任何具体原因?

4

2 回答 2

1

我认为它让他们可以演示使用ChunkedFile,这需要一个RandomAccessFile. 其原因似乎是ChunkedFile需要能够获得文件的长度。


如果我不使用 https,我不需要使用ChunkedFile. 所以我可以选择FileInputStream哪个RandomAccessFile也返回一个FileChannel. 但我无法从中获取 fileLengthFileInputStreamDefaultFileRegion. 所以我认为有必要使用RandomAccessFile.

这大致正确。但是,您可能会通过其他方式获得文件长度;例如使用File.length().

FileChannel实际上,获取文件长度的方式并没有太大区别。

于 2013-07-25T12:36:25.317 回答
0

RAF 需要支持零拷贝,这需要最常从 RAF 获取的 FileChannel。

于 2013-07-25T12:51:42.970 回答