[英]Java File I/O - Text File - how to edit something?
如果我有一个文本文件,请说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
但这不是我想要的,我只想能够在文件中的某个位置编辑字符串。 有任何想法吗?
您可以按此处概述的方式读写文本文件。 阅读内容后,您可以执行String.replaceAll("fruit:orange", "fruit:pear")
并将新内容写入文件中。
文件只是磁盘上的位。
您的文件实际上看起来像这样(给出或采用编码和平台特定的内容):
fruit:apple\\nfruit:orange\\nfruit:grape
因此,如果您要“编辑”其中的一部分,则此后的所有操作都需要进行操作。
您可以使用偏移量,在字节级别上工作,但实际上对于没有固定字段长度等的数据,最简单的方法是重写整个文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.