2
我正在創建一個GUI,並且使用Student對象返回數據類型的方法「getStudentInfo()」從JTextFields中檢索信息並將它們存儲到「student」對象中。如何更新二進制文件
public Student getStudentInfo() {
Student student = new Student();
String name = jtfName.getText();
student.setName(name);
String idNumber = jtfIDNumber.getText();
student.setIdNumber(idNumber);
String address = jtfAddress.getText();
student.setAddress(address);
String phoneNumber = jtfPhoneNumber.getText();
student.setPhoneNumber(phoneNumber);
String major = jtfMajor.getText();
student.setMajor(major);
return student;
}
然後,在不同的類中,我創建一個「添加」按鈕,點擊後,應該加上「學生」對象到一個ArrayList,然後寫的ArrayList成一個二進制文件。
private class AddButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
File studentFile = new File(FILENAME);
ArrayList<Student> studentList = new ArrayList<Student>();
studentList.add(text.getStudentInfo());
try {
FileOutputStream fos = new FileOutputStream(studentFile);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(studentList);
}
catch (FileNotFoundException fnf) {
fnf.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
但是當我運行該程序,我寫了一個學生的信息並將其添加到二進制文件,然後我去添加其他的學生,它完全覆蓋前面的學生的信息。任何幫助將不勝感激。