gpt4 book ai didi

java - 为什么我的文件总是被覆盖?

转载 作者:行者123 更新时间:2023-12-01 23:17:32 27 4
gpt4 key购买 nike

我有一个数组列表(result_arraylist),并使用 gson 库将 java 对象转换为 JSON,然后将其打印到文本文件。这是我的代码:

Gson gson = new Gson();
File file = new File(file_path);
FileWriter fWriter;
BufferedWriter bWriter;

try {
//create the file if it doesn't exist
if((!file.exists())) {
file.createNewFile();
}
fWriter = new FileWriter(file.getAbsoluteFile());
bWriter = new BufferedWriter(fWriter);
for(int j = 0; j < result_arraylist.size(); ++j) {
bWriter.write("<!--"); //this and the last string I write to the file is just to separate the objects for when I read the file again
bWriter.newLine();
bWriter.write(gson.toJson(result_arraylist.get(j))); //take the object at index j, convert it to JSON and write to file
bWriter.newLine();
bWriter.write("-->"); //seperator to denote end of object
bWriter.newLine();
bWriter.newLine();
}
}
catch(IOException e) {e.printStackTrace();}

我在这里没有展示的是,它嵌套在一个更大的 for 循环 中,每次迭代都会用不同的对象填充 result_arraylist。我的问题是,每次迭代主 for 循环 时,文件都会被覆盖。

最佳答案

通过将 true 传递给 FileWriter(String fileName,
boolean append)
以附加模式打开文件构造函数,这样就不会覆盖现有的内容。

Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.

  fWriter = new FileWriter(file.getAbsoluteFile(), true);

关于java - 为什么我的文件总是被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000064/

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