我希望能够将我的程序中创建的对象保存到文件中。我看过ObjectOutputStream上的一些教程,但问题是,它们只显示如何保存在主要方法中创建的特定对象。我想要的是,该程序自动保存每个创建的对象。 以我的程序中的组对象为例。这是添加方法:将对象保存到文件。自定义方法添加/删除对象
public void addGroup(int gid, String groupname) {
Group newgroup = new Group(gid, groupname);
if (!Groups.contains(newgroup)) {
Groups.add(newgroup);
return;
}else
JOptionPane.showMessageDialog(null, "Group with ID " + gid
+ " already exists!", "Error",
JOptionPane.WARNING_MESSAGE);
}
它是我的数据库类的一部分。我想自动将每个创建的组保存到文件中。这将如何完成?我该在数据库类中声明新文件?在主要方法?
我的第二个问题是,如果我删除组,使用remove方法:
public void removeGroup(int gid) {
if (!Groups.remove(new Group(gid, null))) {
JOptionPane.showMessageDialog(null, "Group with ID[" + gid
+ "] not present. System unchanged.");
}
}
如何从文件中删除吗?我知道,我真的不能从文件中删除一个对象,但我怎样才能将空间清空?
预先感谢所有帮助:)
不,我不能使用第三方库。我通读了这篇教程,但那仍然不能回答我的问题。我不想保存在main方法中创建的一个对象,而是保存使用addGroup方法创建的每个对象。 我该如何重写文件? 再次,我在哪里创建新的ObjectOutputStream? – Nino 2013-04-11 22:21:37
我添加了一些代码。当添加一个对象时,它将保存,当一个组被删除时,该文件将被保存。 – jjhavokk 2013-04-11 22:48:44
谢谢你的努力。但事实证明,这一切都不是必需的,因为我有一个数据库对象(它存储组对象),所以我只需要保存它。这比我想象的要容易得多。我想我必须保存我的程序中的每一个对象... – Nino 2013-04-12 00:27:22