Я предполагаю, что остановить выполнение Вы имеете в виду блок.
Только что заметил, что вы используете readObject, а не read.Пожалуйста, опишите, какие данные вы читаете / пишете и почему вы используете потоки объектов?
Как вы уже упоминали, вы используете String, я бы предложил использовать метод readFully(byte[] buf)
.Этот метод блокируется, пока все байты не будут прочитаны.Если у вас есть байтовый массив, из этого байтового массива можно создать String .