我需要随机访问文本(ASCII)文件中的特定记录,然后从那里读取,直到找到特定的“停止序列”(记录分隔符)。该文件包含多行记录,每条记录由分隔符分隔。每条记录也需要不同数量的行!这是特定专业领域中众所周知的文件格式,无法更改。
我想索引文件,以便快速跳转到请求的记录。
在类似的问题中
和其中的链接,答案总是引用seek()
各种类的方法,如RandomAccessFile
. 我知道这件事!
我遇到的问题是如何获得寻找所需的偏移量!(索引文件)
BufferedReader
没有getFilePointer()
方法或任何其他方法来获取从文件开头的当前字节偏移量。RandomAccessFile
有一种readLine()
方法,但它的性能非常糟糕。对于我的情况,它根本不可用。
我需要逐行读取文件,每次找到记录分隔符时,我都需要获取字节偏移量。我怎样才能做到这一点?