我从一个web服务器收到了一个HttpEntity。如果我用HttpEntity ()检查那个getContentLength(),它会显示一个值> 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=nullgetContentLength()在InputStream上显示的值与HttpEntity上的值相同。
我不知道从哪里开始找出这个问题。我能查到什么才能找到这个问题?
发布于 2015-07-16 10:44:35
请参考此链接,它说可重复的实体只能使用getContent()和writeTo(OutputStream)过程一次。
要知道您的实体是否可重复,请使用isRepeatable()。
https://stackoverflow.com/questions/21560634
复制相似问题