Есть класс(Example) который реализует интерфейс Serializable
Есть file - он пустой
Есть такой код
ObjectInputStream inputStream = inputStream = new ObjectInputStream(new FileInputStream(file));
(Example) inputStream.readObject());
Так вот: если в классе Example я определяю только метод equals, то при чтении он выкидывает EOFExeption и я определяю что файл пуст, если в классе я реализовываю и equals, и hashCode то он мне выкидывает ошибку StreamCorruptedException. Файл в дальнейшем будет заполнен данными, но смысл в том, что с 2 методами он выкидывает непонятную мне ошибку, я ее не знаю как исправить.
На самом деле в вопросе не хватает минимально воспроизводимого примера.
Если посмотреть в документацию по исключениям:
public class EOFException
Signals that an end of file or end of stream has been reached unexpectedly during input.
EOFException
- сигнализирует о внезапно закончившемся потоке для чтения
public class StreamCorruptedException
Thrown when control information that was read from an object stream violates internal consistency checks.
StreamCorruptedException
- выбрасывается когда прочитанная информация не соответствует ожиданиям (вольный перевод)
Т.е. если читающий поток ожидает системную информацию и за ней данные об объекте, а получает что-то другое
Ждет:
системная информация -> данные объекта 1 -> данные объекта 2 ...
Получает:
системная информация -> данные объекта 1 -> системная информация...
На пустом файле у меня всегда выбрасывался EOFException в не зависимости от наличия hashCode
или equals
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть класс Test, потомок ThreadКак мне настроить log4j2 что бы для каждого потока Test создавался свой лог файл
Пытаюсь геокодировать адрес переменной adr в координаты с долготой и шириной и отобразить метку на картеЗапускаю приложение
Привет! Есть простой массив Object[] arr = new int[50] заполненный некими значениями, также есть другой массив Object[][][][][] fiveDArr, правда он 5-ти мерный, нужно...
Чем отличается List от ArrayListПогуглил, но толком ничего не нашел (как минимум, на русском языке)