2012-03-09 29 views
0

我試圖從一個文本文件逐行搜索一個詞時搜索行號,當找到時我試圖讓它搜索第二個文件該行號並將其內容保存爲一個字符串,以便以後可以訪問信息,嘗試谷歌它,並閱讀我的Java爲傻瓜,但我要麼沒有正確敘述或誤解概念如何在java中使用讀取文件時獲得行號

我會用什麼來保存一行一行一行地讀取文件以從第二個文件中獲取同一行並保存這兩個文件以便在用戶登錄時在控制檯中使用?

+0

我不會寫任何額外的文件 - 而不是當我讀到文件我也要算換行符的數量。例如,對於任何給定的文本,我讀回,如果有前22個換行符,那麼我就行23 – VoidStar 2012-03-09 19:15:12

+0

確定我下架,我會嘗試一些不同的方法,包括使單個文件。 – Zyse 2012-03-09 20:16:35

回答

0

文件不是固有的面向行的,它們只是長字節流,被解釋爲字符(使用某種字符編碼)。 readline()/ println()方法簡單地使用默認行結束符來讀取(或寫入)下一行。

如果你想尋求在文件中的某行,你必須從文件讀取行,跟蹤該行的計數自己,你正在尋找的數字停止。

這對大文件來說會很慢。更快的方法是在文件中使用字節位置,但這可能或可能不適用於您。

如果一個字節位置會的工作,你可以使用一個FileChannel:http://docs.oracle.com/javase/6/docs/api/java/nio/channels/FileChannel.html

+0

好吧,這很有意義,我可能不得不看一個不同的選項,謝謝你的信息。 – Zyse 2012-03-09 20:15:28

相關問題