有没有办法用BufferedReader获取当前字节的偏移量?

时间:2015-02-07 02:52:10

标签: java

我的程序必须逐行读取文本文件,并获取每行的偏移量。我正在使用BufferedReader,无论如何都无法找到它。

1 个答案:

答案 0 :(得分:0)

没有。

有两个问题:

  • BufferedReader是一个读者,所以如果算上你正在阅读/计算的东西是字符......而不是字节。对于使用多类型编码编码的文件,这还不够好。

  • 如果您尝试计算字节下方的字节数 - >字符翻译,你有问题,缓冲级别将以块的形式读取...这意味着你将无法准确测量当前位置。


更新 - 我尝试使用Google搜索现有解决方案,但我什么也没做到。 (我在biojava 3中发现了一个名为BufferedReaderBytesRead的类,它旨在解决问题。然而,它确实存在。它返回的字符数不是字节数,因此它不适用于具有多字节编码的文件。

当然,如果您可以假设文件编码是每个字符一个字节,那么您可以只计算字节...