在我的程序中,我正在调用EntityUtils.consume(httpResponse.getEntity())。这将在代码中引发IOException,而对EntityUtils.toString(httpResponse.getEntity())的调用工作得很好。关于这个问题可能有什么想法?或有任何解决IOException的建议吗?
if(status >= 200 && status < 300) {
HttpEntity httpEntity = httpResponse.getEntity();
if (httpEntity != null) {
if(httpEntity.getContentLength() > Constants.HTTP.MAX_APP_CONTENT_LENGTH) {
throw new IllegalArgumentException("HTTP entity too large.");
}
result = EntityUtils.toString(httpEntity,"UTF-8");
EntityUtils.consume(httpEntity);
}
}
最佳答案
我不熟悉Apache HttpCore,但是我知道在Servlet中您无法两次从HttpServletRequest中读取日期。它使用缓冲区,并且一旦缓冲区末尾,如果您尝试对其进行两次读取,则会得到IOException,因为缓冲区现在为空。
关于java - EntityUtils .consume返回IOException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9768591/