使用HttpClient的时候报错java.io.IOException: Attempted read from closed stream

  • 问题背景
  • 解决方案
  • 心得
  • Lyric: 我们愉快的梦游

问题背景

使用HttpClient的时候报错java.io.IOException: Attempted read from closed stream

2022-01-21 14:48:30.627 ERROR 32956 --- [           main] c.dz.marketservice.util.HttpClientPool   : =============["异常"]======================, e: {}java.io.IOException: Attempted read from closed stream.at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:165) ~[httpcore-4.4.15.jar:4.4.15]at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.13.jar:4.5.13]at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_221]at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_221]at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_221]at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_221]at java.io.Reader.read(Reader.java:140) ~[na:1.8.0_221]at org.apache.http.util.EntityUtils.toString(EntityUtils.java:227) ~[httpcore-4.4.15.jar:4.4.15]at org.apache.http.util.EntityUtils.toString(EntityUtils.java:308) ~[httpcore-4.4.15.jar:4.4.15]at com.dz.marketservice.util.HttpClientPool.postForJsonObject(HttpClientPool.java:127) ~[classes/:na]at com.dz.marketservice.client.HttpTest.packageReq(HttpTest.java:63) [classes/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_221]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_221]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_221]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_221]at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) [junit-platform-commons-1.8.2.jar:1.8.2]java.lang.NullPointerExceptionat com.dz.marketservice.client.HttpTest.packageReq(HttpTest.java:64)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)

解决方案

1 看错误Attempted read from closed stream翻译过来就是:从已经关闭的流中尝试再次读取,根据这条报错,我去看了我的代码

System.out.println(EntityUtils.toString(response.getEntity()));
JSONObject result = JSONObject.parseObject(EntityUtils.toString(response.getEntity()));

2 为了方便我自己加入了一条打印,重复使用了response.getEntity(),但是这个获取只能获取一次,就像发布与消费,当中间的消息消费掉了,再去使用,找不到就报错了,所以这条语句可以改成:

String temp = EntityUtils.toString(response.getEntity());
System.out.println(temp);
JSONObject result = JSONObject.parseObject(temp));

心得

  • 耐心读一下报错信息,好好理解一下,也能自己解决问题

作为程序员第 30 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

Lyric: 我们愉快的梦游

使用HttpClient的时候报错java.io.IOException: Attempted read from closed stream相关推荐

  1. java后台调用SOE时,报异常java.io.IOException: Attempted read from closed stream

    java后台调用SOE时,报异常java.io.IOException: Attempted read from closed stream 代码诸如此类 public void test(HttpS ...

  2. 在HttpClient请求的时候,返回结果解析时出现java.io.IOException: Attempted read from closed stream. 异常,解决

    在HttpClient请求的时候,返回结果解析时出现java.io.IOException: Attempted read from closed stream. 异常,解决 参考文章: (1)在Ht ...

  3. java.io.IOException: Attempted read from closed stream.

    项目场景: 提示:读取pdf文件到本地: 读取文件流读取失败 问题描述 读取文件流读取失败 2022-06-08 09:00:52 [http-nio-8000-exec-4] ERROR m.z.e ...

  4. java.io.IOException: Attempted read from closed stream. 异常,解决

    在HttpClient请求的时候,返回结果解析时出现java.io.IOException: Attempted read from closed stream. 异常,解决 原因是EntityUti ...

  5. zookeeper3.5.x版本启动报错java.io.IOException: No snapshot found, but there are log entries.解决

    目录 一.背景 二.原因 三.解决办法 一.背景 最近使用zookeeper比较多,而且存在3.4.x版本和3.5.x版本交替使用的情况,结果用着用着3.5.x版本的zookeeper就无法启动了,直 ...

  6. 【错误记录】Android 应用 POST 网络请求报错 ( java.io.IOException: Cleartext HTTP traffic to xxx not permitted )

    文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息如下 : 执行 post 请求信息 , 报如下错误 : W/System.err: java.io.IOException: Clearte ...

  7. java报错--java.io.IOException: Server returned HTTP response code: 502

    java.io.IOException: Server returned HTTP response code: 502 for URL: http://ip.taobao.com/service/g ...

  8. java解压报错java.io.IOException: failed to skip current tar entry

    #java解压出现java.io.IOException: failed to skip current tar entry 当使用如下函数解压: AntBuilder antBuilder = ne ...

  9. MyBatis项目报错java.io.IOException: Could not find resource mapping/UserMapper.xml

    问题描述: 报错如图下:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resou ...

最新文章

  1. 【转】jQuery获取Select option 选择的Text和Value
  2. 杭电 1181 变形课
  3. 给力分享新的ORM = Dapper( 转)
  4. 苹果前置摄像头拍出来是反的怎么调_不用等了!屏下摄像头难攻克,明年还是挖孔屏...
  5. java 应用是单机集群_Java集群优化——使用Dubbo对单一应用服务化改造
  6. 汽车之家购买价格PC真正的原因阿拉丁
  7. stm32程序中的assert_param()的说明
  8. mysql text与blog的区别
  9. [转] STL中map用法详解
  10. 您的网卡配置暂不支持1000M宽带说明
  11. 【转载保存】Lucene 实战教程第六章 Lucene 的精确、包含、集合查询 Query 的简单使用
  12. stm32F103驱动ADS1115程序-4通道可用-ALERT中断可用-ADC芯片,应该是最全了
  13. php涉及数据库操作时响应很慢。
  14. yolov5继续训练_震惊! 它来了!YOLOv5它来了!
  15. .NET 指南:构造器的设计
  16. gRPC如何在Golang和PHP中进行实战?7步教你上手!
  17. latex里图片大小如何调整_LATEX图片位置调整
  18. greenDao的使用与封装
  19. 巴旦木树苗适合在哪些地方种植?巴旦木苗木成长过程
  20. 采购月度业绩贡献度报表

热门文章

  1. 月入万元快递小哥仅占1.3%,多半月收入不超过5000元
  2. 2007年高考北京满分作文:沉默的父爱
  3. python上进行日期的儒略日换算
  4. C语言 - 计算n的阶乘(n!)
  5. Codeforces Round #499 (Div. 2) 1011 C. Fly 二分
  6. 计算机兴趣小组活动实施方式,信息技术兴趣小组活动总结范文(通用5篇)
  7. Origin 正版模拟城市5 警告 您使用《模拟城市》产品码不支援目前选取的语言。请连络顾客支援以获得详情。
  8. 中国鸡荣华鸡为什么干不过洋鸡肯德基
  9. android应用程序设计答案,Android移动应用程序设计智慧职教MOOC答案
  10. matlab画极坐标心形线,matlab画心形线