首页 > 学院 > 开发设计 > 正文

HttpEntity的使用

2019-11-08 01:47:26
字体:
来源:转载
供稿:网友

HttpEntity实体即可以使流也可以使字符串形式。

具体有什么用法看他的方法解释:

[html] view plain copypackage com.scl.base;    import java.io.IOException;  import java.io.UnsupportedEncodingException;    import org.apache.http.HttpEntity;  import org.apache.http.ParseException;  import org.apache.http.entity.StringEntity;  import org.apache.http.util.EntityUtils;    public class HttpClientDemo06 {        /**       * @param args       */      public static void main(String[] args) {          try {              HttpEntity entity = new StringEntity("这一个字符串实体", "UTF-8");              //内容类型              System.out.PRintln(entity.getContentType());              //内容的编码格式              System.out.println(entity.getContentEncoding());              //内容的长度              System.out.println(entity.getContentLength());              //把内容转成字符串              System.out.println(EntityUtils.toString(entity));              //内容转成字节数组              System.out.println(EntityUtils.toByteArray(entity).length);              //还有个直接获得流              //entity.getContent();          } catch (UnsupportedEncodingException e) {              throw new RuntimeException(e);          } catch (ParseException e) {          } catch (IOException e) {          }                          }    }  对于实体的资源使用完之后要适当的回收资源,特别是对于流实体:例子代码如下

[html] view plain copypublic static void test() throws IllegalStateException, IOException{          HttpResponse response = null;          HttpEntity entity = response.getEntity();                    if(entity!=null){                                 InputStream is = entity.getContent();                  try{                      //做一些操作                  }finally{                      //最后别忘了关闭应该关闭的资源,适当的释放资源                      if(is != null){                          is.close();                      }                      //这个方法也可以把底层的流给关闭了                      EntityUtils.consume(entity);                      //下面是这方法的源码                      /*public static void consume(final HttpEntity entity) throws IOException {                          if (entity == null) {                              return;                          }                          if (entity.isStreaming()) {                              InputStream instream = entity.getContent();                              if (instream != null) {                                  instream.close();                              }                          }                      }*/                  }                                           }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表