我想逐行讀取文件。 BufferedReader比RandomAccessFile或BufferedInputStream快得多。 但問題是我不知道我讀了多少字節。 如何知道字節讀取(偏移量)? 我試過了。如何知道BufferedReader的字節讀取(偏移量)?
String buffer;
int offset = 0;
while ((buffer = br.readLine()) != null)
offset += buffer.getBytes().length + 1; // 1 is for line separator
我工作,如果文件很小。 但是,當文件變大時,偏移量變得比實際值小。 如何獲得抵消?
你想實現什麼樣的更大的任務?由於內部緩衝區(以及編碼和不同的行尾),這基本上很棘手。 – 2013-02-26 15:27:19
我想獲得行首的偏移量。所以,我稍後使用偏移量來使用RandomAccessFile讀取文件的某些部分。 – user1301568 2013-02-26 15:31:15
假定只有一行分隔符字節,例如\ n。你能假設嗎? – EJP 2013-02-26 23:55:06