我正在嘗試使用用戶界面創建一個簡單的程序。來自gui的用戶插入Person實現Serializable類的名字,姓氏和年齡。在文件中寫入多個對象並閱讀它們
一切正常,但只適用於一人,第一人!似乎每次我發送一個新的對象到我的文件,它確實寫入文件,因爲文件的大小越來越大。
的問題是,當我與對象讀取文件返回只有一個,我想返回存儲在MYFILE類人的所有對象。
這裏是我的代碼先睹爲快:
寫對象按鈕:
try {
per = new Person(name, sur, age);
FileOutputStream fos = new FileOutputStream("myFile", true);
ObjectOutputStream oos;
oos = new ObjectOutputStream(fos);
oos.writeObject(per);
oos.flush();
oos.close();
//some other code here
} catch (IOException e) {
//some code here
}
閱讀對象按鈕:
try {
FileInputStream fis = new FileInputStream("myFile");
ObjectInputStream ois;
ois = new ObjectInputStream(fis);
try {
rper = (Person) ois.readObject();
ois.close();
JOptionPane.showMessageDialog(null, "People:" + rper, "Saved Persons", JOptionPane.INFORMATION_MESSAGE);
} catch (ClassNotFoundException e) {
//some code here
}
} catch (IOException e) {
//some code here
}
感謝您的信息!
請學會[格式化你的代碼(http://www.oracle.com/ technetwork/JAVA/JavaSE的/文檔/ codeconvtoc-136057.html)。這個問題將被大多數人忽略,因爲它是不可能讀的。你怎麼知道_your_代碼在做什麼? –
@BoristheSpider我認爲這是超基本的,我甚至需要評論上面的代碼? – Thms
儘管您的問題是關於編寫和閱讀多個人,但我的代碼中完全沒有看到任何循環。 –