Java - UnchekedIOException: преждевременное завершение файла при чтении из ClientHttpResponse - PullRequest
0 голосов
/ 21 сентября 2018

Не дубликат, поскольку предоставленное там решение также не работает, как и то же самое.

Я пытаюсь прочитать ClientHttpResponse и пытаюсь преобразовать его в строку.При выполнении этого процесса я сталкиваюсь с преждевременным исключением конца файла.

Ниже приведены сценарии,

Если я запускаю свой код в цикле for (300 раз) для приведенного ниже кода,

return new ObjectMapper().writeValueAsString(new BufferedReader(new InputStreamReader(clientHttpResponse.getBody())).readLine());

я получаю сообщение об ошибке как Premature EOF; nested exception is java.io.IOException: Premature EOF

И указанное выше сообщение об ошибке появляется после успешного запуска 99 итераций.это означает, что цикл от 1 до 99 работает, но для сотой итерации происходит исключение.

Когда я пытаюсь использовать альтернативный код, как показано ниже

Stream<String> stream = new BufferedReader(new InputStreamReader(clientHttpResponse.getBody())).lines();
StringBuffer buffer = new StringBuffer();
stream.forEach(i -> buffer.append(i));
return new ObjectMapper().writeValueAsString(buffer);

Я получаю ошибку, как показано нижепосле 99 успешных итераций.

java.io.UncheckedIOException: java.io.IOException: Premature EOF
at java.io.BufferedReader$1.hasNext(BufferedReader.java:574)
...