我希望能夠將我的程序中創建的對象保存到文件中。我看過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