2015-02-07 32 views
0

我的程序必须逐行读取一个文本文件,并获得每一行的偏移量。我正在使用BufferedReader,无法找到这样做。有没有办法用BufferedReader获得当前字节的偏移量?

+1

你是什么意思由_get每个行的偏移__ – 2015-02-07 02:52:43

+0

@SotiriosDelimanolis:这听起来像( s)他想要的东西沿着[java.io.RandomAccessFile.getFilePointer()](http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html#getFilePointer%28 %29),但对于java.io.BufferedReader。 – ruakh 2015-02-07 02:55:07

+0

@ruakh我试过RandomAccessFile,但问题是它似乎不认识ne w线字符。 – user90593 2015-02-07 03:01:16

回答

0

不,没有。

有两个问题:

  • 一个BufferedReader是一个阅读器,所以如果你指望你正在阅读/计数的事情字符...不是字节。对于使用多类型编码进行编码的文件,这不够好。

  • 如果您尝试在字节 - >字符转换下方计算字节数,则会出现缓冲级别将以块读取的问题......这意味着您将无法获得准确的度量值当前位置。


UPDATE - 我试着用搜索引擎对现有的解决方案,我想出了什么。 (我在biojava 3中找到了一个名为BufferedReaderBytesRead的类来解决这个问题,但它存在,它返回的字符数不是字节数,所以它不适用于多字节编码的文件。当然,如果你可以假定文件编码是每个字符一个字节,你可以只计算字节...

相关问题