См. Javadoc. readObject()
не возвращает ноль в EOF. Он выдает EOFException.
Единственный способ вернуть ноль - это если вы написали ноль на другом конце, и это не обязательно является хорошей причиной для завершения цикла чтения.
Короче говоря, ваш код неверен.
Примечание: инициализация 'o' является избыточной.
NB (2) Отправленный вами код не может выдать NullPointerException,
, если masterFile
не имеет значения null. Это серьезный доклад или просто предположение?