我有一个从 Web 服务器收到的 HttpEntity。如果我用 getContentLength() 检查 HttpEntity,它显示的值 > 0。所以似乎有内容。我运行 getContent() 以获取 InputStream,并在该 InputStream 上运行 read() 以获取内容。在第一次 read() 操作中,它会抛出一个 IO 异常,表明流已关闭“尝试在已关闭的流上读取。”。
我的代码是:
HttpEntity myEntity = myResponse.getEntity();
InputStream inputStream = myEntity.getContent();
inputStream.read();
所以我没有在那个流上调用 close() 。我不能排除 HttpEntity 有问题,在我看到的调试器中查看 myEntity(不知道这是否有帮助):
is1=EofSensorInputStream
eofWatcher=BasicManagedEntity
selfClosed=true
wrappedStream=null
InputStream 上的 getContentLength() 显示 HttpEntity 上的值。
我不知道从哪里开始寻找解决问题的方法。我可以检查什么来发现问题?