netty HttpStaticFileServerHandler示例使用RandomAccessFile有什么具体原因吗?
发布于 2013-07-25 12:36:25
我认为这是为了让他们能够演示ChunkedFile的使用,这需要一个RandomAccessFile。其原因似乎是因为ChunkedFile需要能够获得文件的长度。
如果我不使用https,则不需要使用
ChunkedFile。所以我可以选择FileInputStream而不是RandomAccessFile,后者也返回FileChannel。但我无法从fileLength获得FileInputStream,这是DefaultFileRegion所需的输入。因此,我认为有必要使用RandomAccessFile。
差不多是对的。但是,您可以以其他方式获取文件长度,例如使用File.length()。
实际上,获取FileChannel和文件长度的方式并没有多大区别。
发布于 2013-07-25 12:51:42
RAF需要支持零拷贝,这需要一个最常见的从RAF获得的FileChannel。
https://stackoverflow.com/questions/17857592
复制相似问题