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.