java.io.StreamCorruptedException: invalid type code: AC - после считывания первого обьекта - Java

Читал, об этой проблеме, и понял что на один ObjectOutputStream должен приходиться ровно один ObjectInputStream, и у меня так и есть, я создаю один OOS i один OIS. Запись обьектов в файл происходит в порядке, а вот когда читаю обьекты, то считывается только первый, а дальше получаю ошибку, в чем может быть еще проблема?

public class Main03 {

    public static void main(String[] args) {
//        String[] dane = new String[2];
//        int iDane = 0;
        try {
            ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("student.ser"));
            while (true) {
                try {
                    Student object = (Student) objectInputStream.readObject();
                    System.out.print(object.wypiszObject() + "\n");
//                    dane[iDane] = object.wypiszObject();
//                    iDane++;
                } catch (EOFException exc) {
                    break;
                }
            }
            objectInputStream.close();
        } catch (Exception exc) {
            System.out.print("Blad: " + exc);
        }
//        for (int i = 0; i < dane.length; i++) {
//            System.out.print(dane[i] + "\n");
//        }
    }
}

Ответы (1 шт):

Автор решения: Sergey Zh.

Классы ObjectInputStream и ObjectOutputStream предназначены для сериализации/десериализации объектов! А вы используете их для считывания из файла.

Для считывания из файла нужно использовать другие классы из иерархии InputStream OutputStream.

→ Ссылка