Сериализация нескольких объектов в файл и получение их позже - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь создавать объекты учеников по одному и сериализовать их по одному в файл. Позже я хотел бы получить объект, в котором совпадают имя и фамилия ученика.

Вот что Я пытался сделать

    public static void addtoStudents(String First,String Last) {

        Student student = new Student(First,Last);
        ArrayList<Student> student=new ArrayList<>();

        try {

                FileOutputStream fop=new FileOutputStream("object.ser");
                ObjectOutputStream oos=new ObjectOutputStream(fop);
                student.add(student);
                oos.writeObject(student);

 } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

}

И вот поисковый код

public static String[] findSomeone(String First,String Last)
{

    try {

            FileInputStream fis=new FileInputStream("object.ser");
            ObjectInputStream ois=new ObjectInputStream(fis);


            ArrayList<Student> student=new ArrayList<>();
            student=(ArrayList<Student>)ois.readObject();

            for(int i=0;i<student.size();i++){
                student.get(i).getFirstname();
                System.out.println(student.get(i).getFirstname());
            }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        }


    return null;
}

1 Ответ

0 голосов
/ 21 января 2020

С Java сериализация объекта - Учебное пособие

Убедитесь, что ваш класс Student реализует java.io.Serializable интерфейс

Как:

public class Student implements Serializable {

    private String First;
    private String Last;
    ...

    public Student(String First,String Last) {
      ...
    }
}
...