Не дубликат, поскольку предоставленное там решение также не работает, как и то же самое.
Я пытаюсь прочитать 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)