Возможно ли ObjectOutputStream / ObjectInputStream внутренний класс? Я могу написать его ОК и проверить созданный файл, но когда я пытаюсь прочитать его обратно, используя ObjectInputStream, я получаю EOFException, просто пытаюсь прочитать объект o = oos.readObject ();
- Я использую один и тот же объект File для открытия обоих потоков, так что это не проблема.
- Кажется, что он не зависит от природы внутреннего Класса - класс с просто открытым int идентично сбою для более сложного класса.
Мне нужно идти дальше, создавать обычный класс и создавать экземпляры в классе отправителя, но я не хочу уходить, не зная, возможно ли это, а если нет, то почему.
Обновление: связанные проблемы, которые стали причиной проблемы:
A. Вы не можете повторно открыть файл, написанный с помощью ObjectOutputStream, и добавить: второй заголовок записывается и повреждает файл.
B. Сериализация HashMap с использованием ByteOutputStream для выполнения хеш-дайджеста не работает, потому что, когда вы читаете HashMap обратно из файла ObjectOutputStream, вы можете очень хорошо получить другой byte [] из ByteOutputStream из-за изменений в порядке пар: то же самое, но байт [] (и, следовательно, хеш-код) не равен.
Надеюсь, это поможет кому-то сэкономить время.