我想從文本文件中讀取特定的行,但是我不想將文件加載到內存中(它可以變得非常大)。Java閱讀第n行
我一直在尋找,但我發現每一個例子都需要閱讀每一行(這會減慢我的代碼,因爲有超過100,000行)或將整個東西加載到數組中,並獲得正確的元素(文件將有很多行輸入)。
什麼,我想要做的一個例子:
String line = File.getLine(5);
「的代碼是不實際的代碼,它是由以顯示我想要什麼」的原則
有沒有辦法做到這個?
----- -----編輯
我剛剛意識到這個文件將被寫入過在讀線之間(添加到文件的末尾)。
通過100000行文件的每一行讀取是一個非常快速的操作,爲什麼你認爲這是一個問題? – Keppil 2013-04-24 19:59:43
[skip](http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html#skip(long))怎麼樣?但是,你需要一個固定的行長度或每行的行起始位置,或者至少想到行長度和每行唯一的ID(在這種情況下,你可能需要一個[隨機訪問文件](http:///docs.oracle.com/javase/tutorial/essential/io/rafs.html)如果你超調)。 – Dukeling 2013-04-24 20:04:06
嘗試在RandomAccessFile中使用seek(long pos)方法,然後使用readLine()獲取數據。 – VKPRO 2013-04-24 20:08:44