Я полагаю, InputStream.read
продолжит возвращать -1 после закрытия сокета другим концом .
Почему вы хотите продолжать пытаться читать из потока, который уже вернул -1 из read
? Это, кажется, ошибка для меня. Если вы хотите сохранить цикл while(true)
, вы должны поместить оператор break;
после внутреннего цикла while, чтобы, если вам только что удалось нормально добраться до конца потока без проблем, Вы можете просто выйти из внешнего цикла.
Я сильно подозреваю, что попытка чтения из потока после того, как он уже потерпел неудачу, кстати, тоже плохая идея.
(Я бы также предложил, чтобы вы начали следовать более обычным именам Java - очень странно видеть имена переменных PascalCase. Также странно видеть метод с именем Write
- это определенно не то, java.io.OutputStream
...)