2015-02-07 54 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的類來解決這個問題,但它存在,它返回的字符數不是字節數,所以它不適用於多字節編碼的文件。當然,如果你可以假定文件編碼是每個字符一個字節,你可以只計算字節...

相關問題