Java 如何在每次运行程序时向文件中添加更多对象?

Java 如何在每次运行程序时向文件中添加更多对象?,java,file,object,file-io,Java,File,Object,File Io,这是我的saveTable按钮,它保存了我表格中的一行,然后将其放入我的Auto.Auto文件中,但我只能保存一个对象(行)(自动类型))。每次我保存另一个行(行)时,它会用新的行替换旧的行,因此在程序运行时单击保存按钮大约5次后,我的文件中只有一个对象(表的行)。我怎样才能解决这个问题 saveTable.addActionListener(new ActionListener() { @Override public void actionP

这是我的
saveTable
按钮,它保存了我表格中的一行,然后将其放入我的
Auto.Auto
文件中,但我只能保存一个
对象(行)
(自动类型))。每次我保存另一个
行(行)
时,它会用新的行替换旧的行,因此在程序运行时单击保存按钮大约5次后,我的文件中只有一个
对象(表的行)
。我怎样才能解决这个问题

        saveTable.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            int row = Integer.parseInt(textField.getText());
            getText.getAuto(row);
            File tabel = new File("C:\\Users\\Jovan\\Desktop\\Auto.auto");
            try {
                if (!(tabel.exists())) {
                    tabel.createNewFile();
                }
                FileOutputStream fos = new FileOutputStream(tabel);
                ObjectOutputStream oos1 = new ObjectOutputStream(fos);
                oos1.writeObject(getText.getAuto(row));
                oos1.close();


                ObjectOutputStream os2 = new ObjectOutputStream(new FileOutputStream(tabel, true)) {
                    protected void writeStreamHeader() throws IOException {
                        reset();
                    }
                };

                os2.writeObject(getText.getAuto(row));
                os2.close();




            } catch (IOException  error) {
                error.printStackTrace();
            }
        }


    });
第二个参数意味着您将附加到该文件,而不是覆盖它

公共文件输出流(文件, 布尔(追加) 抛出FileNotFoundException

创建文件输出流以写入指定文件对象表示的文件。 如果第二个参数为true,则字节将写入末尾 而不是文件的开头。创建了一个新的FileDescriptor对象 创建以表示此文件连接。首先,如果有 安全管理器,其checkWrite方法通过路径调用 由文件参数表示为其参数

如果文件存在,但它是目录而不是常规文件,则 不存在但无法创建,或无法为任何其他文件打开 然后引发FileNotFoundException


参考资料

关于
fos
?它不应该是
newfileoutputstream(tabel,true)
new FileOutputStream(tabel, true)