gpt4 book ai didi

java - 如何在 Java 中向文件追加对象?

转载 作者:行者123 更新时间:2023-12-01 17:44:16 25 4
gpt4 key购买 nike

我正在尝试用Java编写一个小程序,其中我需要将对象数组保存在文件中。我正在寻找如何执行此操作,并找到了下一个代码:

    //this is the array that will be stored
private Atributtes list[]=new Atributtes [100];

/*
this is the way i save the data in the array,i always save them in
index 0,and i made a for to put away the previous data because always
there will have data in index 0
*/

for (int i = totalElments; i>0; i--){
list[i] = list[i-1];
}

list[0]=new Atributtes ("Atributtes data");
save.storeInfile(list);
totalElments++;





private static final String filename="file.obj";

public void storeInfile(Object array[]){
try{
FileOutputStream file= new FileOutputStream(filename,true);
ObjectOutputStream object= new ObjectOutputStream(file);
object.writeObject(array);
object.close();
file.close();
System.out.println("recording successfully");
System.out.println("-----------------------------------");
}catch(Exception exceccao){
System.out.println("recording wasn't successfull");
}
}

我现在的问题是,当我想保存相同的对象数组但使用其他数据时,或者当我重新打开文件时,文件中的第一个数据会被覆盖。

注1:据说我将 true boolean 值放在 FileoutPutSTream 上,但是当我放置它时,记录不再发生,但是当我删除 true boolean 值时,记录会发生,但总是覆盖数据。

注2:我读过有关 FileWriter 和 PrintWriter 的内容,但我只需要编写对象,而不是字符串。谢谢!!!!

有人能告诉我如何将这些新数据 append 到文件中吗?

谢谢。

最佳答案

更改此行

FileOutputStream file= new FileOutputStream(filename);

到此

FileOutputStream file= new FileOutputStream(filename, true) 

true 代表追加启用或禁用。默认情况下它是禁用的。

关于java - 如何在 Java 中向文件追加对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889169/

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