我創建了一個在我的程序中使用序列化的onLoad方法,但是我想使用onSave方法以及程序關閉並重新啓動,我不必一次又一次地填充我的Jlists。OnSave方法使用onload方法?
我試過創建我自己的onSave函數,但一直沒有能夠得到它接近工作的任何地方。
有人可以給我看一個例子,或者給我onSave函數使我的序列化工作高效。
這裏是我的onLoad()方法:
private void onLoad()
{//Function for loading patients and procedures
File filename = new File("ExpenditureList.ser");
FileInputStream fis = null;
ObjectInputStream in = null;
if(filename.exists())
{
try {
fis = new FileInputStream(filename);
in = new ObjectInputStream(fis);
Expenditure.expenditureList = (ArrayList<Expenditure>) in.readObject();//Reads in the income list from the file
in.close();
} catch (Exception ex) {
System.out.println("Exception during deserialization: " +
ex);
ex.printStackTrace();
}
}
這是我在的onSave方法的嘗試:
try
{
FileInputStream fileIn =
new FileInputStream("Expenditure.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
expenditureList = (ArrayList<Expenditure>) in.readObject();
for(Expenditurex:expenditureList){
expenditureListModel.addElement(x);
}
in.close();
fileIn.close();
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c1)
{
System.out.println("Not found");
c1.printStackTrace();
return;
}
什麼你的onSave方法看起來像嗎? – Fildor 2013-04-26 09:15:21
這是正確的片段嗎?您正在使用* Input * Streams。 – Fildor 2013-04-26 09:29:25
它們應該是輸出流。不知道我在onSave方法上做了什麼,希望有人能幫助我。 – 2013-04-26 09:30:20