Я нашел эту страницу , которая предлагает цикл до тех пор, пока не будет выдано исключение, а затем обработает это исключение.
В основном это означает:
[...]
try {
while (true) {
objectInputStream.readObject();
}
}
catch ( EOFException e ) {
\\ This ALWAYS happens
}
[...]
Однако, как выразился Блох в Effective Java, нужно только «Использовать исключения для исключительных условий», и в действительности нет ничего исключительного в том, что входной поток, не содержащий бесконечного числа объектов, теперь существует? Это будет происходить каждый раз!
Так как в ObjectInputStream нет метода hasNext
, что я могу сделать? Действительно ли я застрял в использовании исключения для того, чтобы знать, когда больше нет доступных для чтения объектов?