有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

httpclient中的java将HttpEntity转换为字符串的最优雅/正确的方法是什么?

我正在使用Apache httpcomponents Java library获取一个网页。连接后,我得到的结果是一个^{},它有一个方法^{},返回一个InputStream,还有一个方法writeTo(),它写入一个输出流

我想将结果转换为字符串以提取信息。最优雅(安全)的方法是什么

一些可能的解决办法:

  • 写入ByteArrayOutputStream,然后使用字符串构造函数将这些字节转换为字符串
  • 使用InputStreamReader直接读取流,并将其放入StringBuilder

这两种感觉都有点难看。你会推荐你选择其中一个还是其他的


共 (3) 个答案

  1. # 1 楼答案

    那(伪)呢

    BasicResponseHandler handler = new org.apache.http.impl.client.BasicResponseHandler ();    
    String str = httpClient.execute(request, handler);
    

    在这种情况下,您必须自己处理异常

  2. # 2 楼答案

    系统。出来println(EntityUtils.toString(httpResponse.getEntity())

  3. # 3 楼答案

    这可能很难看,但我认为这是唯一的办法。您可以使用Commons IO中的IOUtils.toString(),而无需编写自己的代码