2013-03-23 178 views
0

我在此任務中嚴重陷入困境,試圖找出如何在現有行上的最後一個字符後追加文本。將文本追加到文本文件中的現有行

基本上我想能夠定義一個lineNumbertext我想追加。我曾嘗試過不同類型的作家和輸出流,但他們似乎都不支持這一點?

我真的需要重新創建臨時文件,並用附加文本重新編寫它,這看起來很麻煩嗎?

回答

0

你應該能夠使用java.io.RandomAccessFile - 它將把你的文件作爲一個大的字節數組。這使您可以以隨機訪問的方式寫入文件。但是,不幸的是不能刪除和插入。這意味着:

  • 有沒有簡單的方法來定位自己在給定的行。
  • 將文本追加到一行時,將覆蓋下一行的開頭。

你沒有說明你的動機,但SO上的其他答案表明有類似問題的人確實需要一個數據庫。

或者,也許你可以將你的文本文件讀入數據結構中,以方便你需要做的事情,並在完成後將文件寫回磁盤。

-1

請使用來自java.io包的LineNumberReader類它會幫助你的課程。它具有跟蹤從文本文件讀取的行號的方法,您可以在文本結尾處輕鬆地組合文本。 試試這個示例代碼:

LineNumberReader reader = new LineNumberReader(new FileReader("e:/abc.txt")); 
    String line = null; 
    while ((line = reader.readLine()) != null) { 
     int lineNumber = reader.getLineNumber(); 
     System.out.println(lineNumber + " - " + line); 
    } 
+0

我實際上使用'LineNumberReader',但它不能解決我追加的問題。 – JavaCake 2013-03-23 12:55:38

+0

我已經添加了一個示例代碼,請檢查它是否以您想要的方式行事。 – 2013-03-23 13:01:58

+0

Ankur,我知道如何提取線等,但我如何追加到特定的線? – JavaCake 2013-03-23 13:05:34