0

ArrayListカスタム クラスの をファイルに書き込めません。私は使用しています

public static void SaveEmployees() throws FileNotFoundException, IOException{
    ObjectOutputStream save = new ObjectOutputStream(new FileOutputStream("magicscheduleEmp.sav");
    save.writeObject(employeeList);
    save.close();
}

whereは main メソッドでof (my class)employeeListとして宣言および初期化されます。にオブジェクトを確実に追加しましたが、呼び出すとファイルに空が書き込まれます。クラスはシリアライズ可能です。ArrayListEmployeesemployeeListSaveEmployeesArrayListEmployee

私は何を間違っていますか?

編集:ここでemployeeListが初期化されます(メインメソッド内)

    public static ArrayList<Employee> employeeList = new ArrayList<>();

ユーザー入力によって入力されます (別の jFrame クラスで)

    if(MainUI.addempcheck == true){
        Employee newEmployee = new Employee(LastName.getText(), FirstName.getText());
        newEmployee.position = EmpType.getSelectedItem().toString();
        MainUI.employeeList.add(newEmployee);
        MainUI.listModel.addElement(newEmployee.writeName().toString());
    }
    try {
        MainUI.SaveEmployees();
    } catch (FileNotFoundException ex) {
        Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
    }
    this.dispose();

employeeList の内容を印刷するボタンがあり、リストを保存する前にデータが入力されていることを示します。SaveEmployees の呼び出しに問題があるのでしょうか。

4

0 に答える 0