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)