我在此任務中嚴重陷入困境,試圖找出如何在現有行上的最後一個字符後追加文本。將文本追加到文本文件中的現有行
基本上我想能夠定義一個lineNumber
和text
我想追加。我曾嘗試過不同類型的作家和輸出流,但他們似乎都不支持這一點?
我真的需要重新創建臨時文件,並用附加文本重新編寫它,這看起來很麻煩嗎?
我在此任務中嚴重陷入困境,試圖找出如何在現有行上的最後一個字符後追加文本。將文本追加到文本文件中的現有行
基本上我想能夠定義一個lineNumber
和text
我想追加。我曾嘗試過不同類型的作家和輸出流,但他們似乎都不支持這一點?
我真的需要重新創建臨時文件,並用附加文本重新編寫它,這看起來很麻煩嗎?
你應該能夠使用java.io.RandomAccessFile
- 它將把你的文件作爲一個大的字節數組。這使您可以以隨機訪問的方式寫入文件。但是,不幸的是不能刪除和插入。這意味着:
你沒有說明你的動機,但SO上的其他答案表明有類似問題的人確實需要一個數據庫。
或者,也許你可以將你的文本文件讀入數據結構中,以方便你需要做的事情,並在完成後將文件寫回磁盤。
請使用來自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);
}
我實際上使用'LineNumberReader',但它不能解決我追加的問題。 – JavaCake 2013-03-23 12:55:38
我已經添加了一個示例代碼,請檢查它是否以您想要的方式行事。 – 2013-03-23 13:01:58
Ankur,我知道如何提取線等,但我如何追加到特定的線? – JavaCake 2013-03-23 13:05:34