В этом случае EOFException означает, что больше нет данных для чтения, что (опять же в этом случае) может означать только, что файл пуст.
Почему вы используете ObjectInput/OutputStreams
, а только пишетесимволы?Для этого использования вам будет лучше использовать DataInput/OutputStreams
.
Также нет смысла ловить исключения только для их отбрасывания.
Также нет смысла читать символ изфайл, если вы не собираетесь поместить его куда-либо, кроме локальной переменной, которая даже не возвращается методом.