我的程序必须逐行读取文本文件,并获取每行的偏移量。我正在使用BufferedReader,无论如何都无法找到它。
答案 0 :(得分:0)
没有。
有两个问题:
BufferedReader
是一个读者,所以如果算上你正在阅读/计算的东西是字符......而不是字节。对于使用多类型编码编码的文件,这还不够好。
如果您尝试计算字节下方的字节数 - >字符翻译,你有问题,缓冲级别将以块的形式读取...这意味着你将无法准确测量当前位置。
更新 - 我尝试使用Google搜索现有解决方案,但我什么也没做到。 (我在biojava 3中发现了一个名为BufferedReaderBytesRead
的类,它旨在解决问题。然而,它确实存在。它返回的字符数不是字节数,因此它不适用于具有多字节编码的文件。
当然,如果您可以假设文件编码是每个字符一个字节,那么您可以只计算字节...