gpt4 book ai didi

java - 使用两个 FileWriter,其中一个追加,另一个不追加

转载 作者:行者123 更新时间:2023-12-02 07:10:26 25 4
gpt4 key购买 nike

我依次使用两个 FileWriter

第一个不追加

BufferedWriter versionWriter = new BufferedWriter(new FileWriter(new File(filePath)));
versionWriter.write(s);
versionWriter.close();

而我想附加后面的一个。

BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filePath), true));
bw.newLine();
bw.write(s);

问题是我的第一个 FileWriter 破坏了整个文件,因此使我丢失了数据。

我使用两个 FileWriter 的原因是第一个应该覆盖文本文件的第一行,而第二个应该附加到文件末尾。

正确的做法是什么?

编辑:我意识到可以先读取所有内容,然后将其保存回来,但这是非常低效的,特别是因为我需要在文件中存储大量数据。

最佳答案

使用 RandomAccessFile.seek(...) 将数据写入文件的特定位置。

但是,除了读入内存、替换第一行并再次写入文件之外,“替换文件的第一行”并没有什么魔力。除非那条线总是具有相同的长度。并且注意不要覆盖 EOL 字符。 :-)

顺便说一句,不要忘记在关闭之前调用flush()。

关于java - 使用两个 FileWriter,其中一个追加,另一个不追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com