我知道 RandomAccessFile 不使用缓冲(与 FileInputStream 不同,它显然不能与 BufferedInputStream 结合使用)。
我需要从随机文件位置(无法排序,因为它们不断到达)读取许多小块数据,所以 RandomAccessFile 听起来很理想。我的问题:文件系统仍然做一些缓冲,不是吗?所以,虽然我不应该严格依赖它,但我仍然可以预期接近每个的读取不会到达硬件,是吗?(假设读取是基于块的,因此文件系统可以缓冲已读取的块)
我的应用程序既可以安装在 SD 卡上,也可以安装在 Android 设备的手机内存上。Android 基于 linux,但我不知道文件系统缓冲是如何工作的,以及它是否取决于读取是来自手机内存还是 SD 卡。