如何在Java上的文件上附加对象?

如何在Java上的文件上附加对象?,java,file,object,arraylist,append,Java,File,Object,Arraylist,Append,我正在尝试在Java上开发一个应用程序,其中需要将ArrayList保存到一个文件中。我正在寻找如何做到这一点,我发现了下一个代码: ArrayList<Expediente> al = new ArrayList<Expediente>(); Expediente exp = new Expediente("Expediente data"); try{ File file = new File("Pathname"); FileOutputStrea

我正在尝试在Java上开发一个应用程序,其中需要将ArrayList保存到一个文件中。我正在寻找如何做到这一点,我发现了下一个代码:

ArrayList<Expediente> al = new ArrayList<Expediente>();
Expediente exp = new Expediente("Expediente data");

try{
    File file = new File("Pathname");
    FileOutputStream ofs = new FileOutputStream(file);
    ObjectOutputStream oos = new ObjectOutputStream(ofs);
    oos.writeObject(al);
    oos.close();
    ofs.close();
} catch (IOException e) {
    System.err.println("Error!");
    e.printStackTrace();
}
ArrayList al=new ArrayList();
权宜之计exp=新权宜之计(“权宜之计数据”);
试一试{
File File=新文件(“路径名”);
FileOutputStream ofs=新的FileOutputStream(文件);
ObjectOutputStream oos=新的ObjectOutputStream(ofs);
oos.writeObject(al);
oos.close();
ofs.close();
}捕获(IOE异常){
System.err.println(“Error!”);
e、 printStackTrace();
}
我现在的问题是,如果我想保存同一个ArrayList,但要保存另一个数据,或者如果我重新打开该文件,则会覆盖该文件中的第一个数据

有人能告诉我如何在文件中添加这些新数据吗


谢谢。

在FileOutputStream中将
append
标志设置为true

FileOutputStream ofs = new FileOutputStream(file, true);


在FileOutputStream中将
append
标志设置为true

FileOutputStream ofs = new FileOutputStream(file, true);

而不是

FileOutputStream ofs = new FileOutputStream(file);
你可以用

FileOutputStream ofs = new FileOutputStream(file, true);
请参阅Java API。

而不是

FileOutputStream ofs = new FileOutputStream(file);
你可以用

FileOutputStream ofs = new FileOutputStream(file, true);

查看Java API。

您是否查看了Java API文档?我认为这与此重复。这里有很好的答案。是的,我知道FileWriter和PrintWriter,但我需要写对象,而不是字符串。不过还是要谢谢你:)你看过JavaAPI文档了吗?我想这是重复的。这里有很好的答案。是的,我知道FileWriter和PrintWriter,但我需要写对象,而不是字符串。不过还是要谢谢你:)非常感谢:)我没有想到这个选择:哈哈,不客气。我不怪你——我做了20年的Java程序员,是Sun的Java架构师,写了很多认证考试题,并复习了所有的问题——我只是习惯性地在做Java的时候阅读API文档。有太多的细节需要记住。非常感谢:)我没有想到这个选项:哈哈,不客气。我不怪你——我做了20年的Java程序员,是Sun的Java架构师,写了很多认证考试题,并复习了所有的问题——我只是习惯性地在做Java的时候阅读API文档。有太多的细节需要记住。非常感谢:)我没有想到这个选项:s哈哈哈非常感谢:)我没有想到这个选项:s哈哈哈