2010-03-07 63 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