2010-03-07 64 views
1

如果我有一個文本文件裏說FILE.TXT它包含隨機單詞,如:Java文件I/O - 文本文件 - 如何編輯某些內容?

fruit:apple 
fruit:orange 
fruit:grape 

在Java中,如果我想改變第二行改爲fruit:pear我怎麼能這樣做呢? 我知道如何追加到一個txt文件的末尾,像這樣:

BufferedWriter wrtr = new BufferedWriter(new FileWriter(file.txt, true)); 
wrtr.write("blahblah"); //appends 

但這不是我想要的,我只是希望能夠在某個位置來編輯文件中的字符串。有任何想法嗎?

回答

0

文件只是磁盤上的位。

你的文件實際上是這樣的(給予或採取編碼&平臺具體的東西):

fruit:apple\nfruit:orange\nfruit:grape

所以,如果你想「編輯」的一部分,一切從該點起必須操縱。

你可以使用偏移量來處理字節級別的數據,但對於沒有固定字段長度的數據來說,實際上是這樣,最簡單的方法是重寫整個文件。

1

您可以按照here的概述讀/寫文本文件。 閱讀內容後,您可以執行String.replaceAll("fruit:orange", "fruit:pear")並將新內容寫入文件。

+0

這可以工作,但不會工作,如果該行出現多次。 – Paul 2010-03-07 21:24:09