[英]Why does netty example for HttpStaticFileServer use RandomAccessFile?
我认为,这样他们可以演示ChunkedFile
的使用,它需要RandomAccessFile
。 造成这种情况的原因似乎是ChunkedFile
需要能够获取文件的长度。
如果我不使用https,则无需使用
ChunkedFile
。 因此,我可以选择FileInputStream
而不是RandomAccessFile
,后者也会返回FileChannel
。 但是我无法从FileInputStream
获取fileLength,这是DefaultFileRegion
的必需输入。 因此,我认为有必要使用RandomAccessFile
。
大致正确。 但是,您可能可以通过其他方式获得文件长度。 例如使用File.length()
。
实际上,哪种方式获得FileChannel
和文件长度并没有多大区别。
需要一个RAF支持零拷贝,该拷贝需要一个FileChannel,该文件通道是最经常从RAF获取的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.