【发布时间】:2019-06-05 08:56:44
【问题描述】:
我正在将文件映射到内存并使用 java 的 ByteBuffer 将其读回。这被证明是一种非常快速的读取大文件的方法。但是,我只能按顺序读取这些值。这意味着一旦我读到它们buffer.getInt()缓冲区指针移动到下一个字节。所以如果我想多次使用一个值,我必须将它存储到另一个变量中:
int a = buffer.getInt()
我注意到,与仅读取字节相比,这种将一段内存复制到另一个内存的方法需要很长时间(尤其是对于非常大的文件)。有没有办法我可以重新读取这些字节而不是复制它们?
【问题讨论】:
标签: java performance byte bytebuffer memory-mapped-files