如果我有一个文本文件说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
但这不是我想要的,我只是希望能够在某个位置编辑文件中的字符串。任何想法?
答案 0 :(得分:1)
您可以按照here概述读/写文本文件。
阅读完内容后,您可以执行String.replaceAll("fruit:orange", "fruit:pear")
并将新内容写入文件。
答案 1 :(得分:0)
文件只是磁盘上的位。
您的文件实际上看起来像这样(提供或接受编码和平台特定的内容):
fruit:apple\nfruit:orange\nfruit:grape
所以如果你想“编辑”它的一部分,那么从那时起的所有事情都需要被操纵。
您可以使用偏移量,在字节级别上进行操作,但实际上对于没有固定字段长度等的数据,最简单的方法是重写整个文件。