2011-09-14 84 views

回答

7

簡單辦法做到這一點很簡單,就是遍歷文件中的行和停止,當你到達終點。例如:

// I assume this is disposed properly etc 
private static String getLastLine(BufferedReader reader) throws IOException { 
    String line = null; 
    String nextLine; 
    while ((nextLine = reader.readLine()) != null) { 
     line = nextLine; 
    } 
    return line; 
} 

這將返回null爲空的讀者。

除非我知道我將不得不閱讀真的很大文件,這就是我所要做的。試圖通過直接跳到最後一行來做到這一點是。真的很難,特別是如果你需要一個可變寬度的編碼,如UTF-8。

+1

太謝謝你了。 –

+0

像許多事情一樣,最簡單的方法是最好的,直到你找到了需要改進的量化原因爲止。 – corsiKa

3

您可以使用RandomAccessFile 1.轉到文件末尾(新文件(「your_file」).length()) 2.讀取char並在循環中使用seek方法隨機存取文件。 3.當你看到「\ n」(或者你係統中的任何東西)停止。 4.從您停止的地方重新讀取文件直到文件結束。 這是可選的,如果你以某種方式記住你迄今爲止讀過的內容

Just as for RandomAccessFile example。

希望這有助於

相關問題