gpt4 book ai didi

java - 为什么引入FileWriter会删除文件中的所有内容?

转载 作者:行者123 更新时间:2023-12-01 10:15:58 25 4
gpt4 key购买 nike

我有一个文本文件,其中包含一些文本,我计划替换文本文件中的某些字符。因此,为此我必须使用包装文件读取器的缓冲读取器来读取文件。

File file = new File("new.txt");
BufferedReader br = new BufferedReader(new FileReader(file));

String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}

但是由于我必须编辑字符,所以我必须引入一个文件编写器并添加具有名为“全部替换”的字符串方法的代码。因此整体代码如下所示。

File file = new File("new.txt");

FileWriter fw = new FileWriter(file);
BufferedReader br = new BufferedReader(new FileReader(file));

String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
fw.write(br.readLine().replaceAll("t", "1") + "\n");
}

问题是当我在代码中引入文件编写器时(仅通过初始化部分,当我运行程序时,无论添加以下行,它都会删除文件中的内容)

fw.write(br.readLine().replaceAll("t", "1") + "\n");

为什么会出现这种情况?我是否遵循正确的方法来编辑文本文件中的字符?

或者还有其他方法可以做到这一点吗?

谢谢。

最佳答案

public FileWriter(String fileName, boolean append)

Parameters:

fileName - String The system-dependent filename.

append - boolean if true, then data will be written to the end of the file rather than the beginning.

要附加数据使用

new FileWriter(file, true);

关于java - 为什么引入FileWriter会删除文件中的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35887667/

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