Java文件I / O - 文本文件 - 如何编辑?

时间:2010-03-07 17:24:12

标签: java io

如果我有一个文本文件说file.txt,它包含随机单词,如:

fruit:apple
fruit:orange
fruit:grape

在java中,如果我想更改第二行以阅读fruit:pear我该怎么办? 我知道如何附加到txt文件的末尾,如下所示:

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

但这不是我想要的,我只是希望能够在某个位置编辑文件中的字符串。任何想法?

2 个答案:

答案 0 :(得分:1)

您可以按照here概述读/写文本文件。 阅读完内容后,您可以执行String.replaceAll("fruit:orange", "fruit:pear")并将新内容写入文件。

答案 1 :(得分:0)

文件只是磁盘上的位。

您的文件实际上看起来像这样(提供或接受编码和平台特定的内容):

fruit:apple\nfruit:orange\nfruit:grape

所以如果你想“编辑”它的一部分,那么从那时起的所有事情都需要被操纵。

您可以使用偏移量,在字节级别上进行操作,但实际上对于没有固定字段长度等的数据,最简单的方法是重写整个文件。