Есть ли правильный способ чтения объектов из файла с помощью ObjectInputStream
. Примеры, которые я видел, похоже, полагаются на то, что исключение перехватывается, чтобы закончить чтение. Хотя это, возможно, работает, это не кажется чистым решением, поскольку исключение не должно происходить, если только в коде нет ошибки.
Чтение нескольких объектов из файла
Ответы (1)
EOFException
вызывается методом readObject()
для обозначения конца потока. Следовательно, вы должны поймать его, чтобы обнаружить конец потока. КЭД. Не говоря уже об исключении полиции.
person
user207421
schedule
15.04.2013
очень скучно, но, к сожалению, единственный способ, которым я думаю :/
- person starcorn; 15.04.2013
Я не могу понять этот комментарий. Что «скучного» в перехвате исключения?
- person user207421; 22.04.2013
Ловить исключения не скучно. Я имел в виду, что я должен поймать исключение, когда оно достигло конца файла.
- person starcorn; 23.04.2013
@starcorn Перехватывать исключения в конце файла тоже не скучно. Если это то, что разработчики API определили, что вы должны делать, это то, что вы должны делать. На самом деле никого не волнует, считаете ли вы это скучным или нет.
- person user207421; 24.04.2013
Если это ваше мнение. Уф, успокойся. Я не говорил, что люди должны заботиться об этом :P
- person starcorn; 26.04.2013
Это не мое «мнение», это неизбежный факт. Это ваше непрошенное мнение, что это "скучно", вот в чем проблема. Он не согласен с разработчиками API.
- person user207421; 26.04.2013
Позвольте мне перефразировать это тогда. Очень жаль, что решением для него стала необходимость ловить EOFException.
- person starcorn; 27.04.2013
@starcom Никакое другое решение невозможно. Нет значения вне диапазона, которое могло бы быть возвращено.
- person user207421; 07.02.2017
Exception
является правильным. Вы могли бы потенциально записать эту информацию в первый объект в файле... - person Boris the Spider   schedule 15.04.2013Exception
в качестве оператора потока управления. - person Boris the Spider   schedule 15.04.2013Exception
s и обрабатывать их, когда что-то не так с вводом. Но вы абсолютно правы, исключения связаны с уходом от счастливого потока и не указывают на ошибки кодирования. - person Boris the Spider   schedule 15.04.2013