В чем разница между IOUtils.toString и EntityUtils.toString.Какой из них я должен использовать, чтобы прочитать ответ сущности - PullRequest
0 голосов
/ 29 мая 2018

В чем разница между IOUtils.toString и EntityUtils.toString.Какой из приведенных ниже должен использоваться для чтения ответной сущности и почему?

1) CloseableHttpResponse response = httpclient.execute(httpget);
            data=  EntityUtils.toString(response.getEntity());

ИЛИ

2)  CloseableHttpResponse response = httpclient.execute(httpget);
     data = IOUtils.toString(response.getEntity().getContent(),
                    StandardCharsets.UTF_8);

1 Ответ

0 голосов
/ 29 мая 2018

Используйте EntityUtils, он работает с объектом прямо.Во втором примере response.getEntity().getContent() возвращает InputStream, который должен быть закрыт (ваш пример кода этого не делает).EntityUtils обрабатывает это самостоятельно.EntityUtils также считывает кодирование содержимого из заголовков объекта, вам не нужно передавать константу UTF_8, что может быть неверно, если содержимое фактически кодируется с использованием другой кодировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...