遇到一个问题,先后调用到一个公共方法,方法内容如下。总是报错org.dom4j.DocumentException: Stream closed Nested exception: Stream closed。有个大神能说说什么原因不?
public static Map<String, String> parseXml(HttpServletRequest request) throws Exception { Map<String, String> map = new HashMap<String, String>();
// 从request中取得输入流
InputStream inputStream = request.getInputStream();
// 读取输入流
SAXReader reader = new SAXReader();
Document document = reader.read(inputStream);
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子节点
List<Element> elementList = root.elements();
// 遍历所有子节点
for (Element e : elementList)
map.put(e.getName(), e.getText());
// 释放资源
inputStream.close();
inputStream = null;
return map;
}</pre>
是否会是你关闭了inputStream之后又等于null了呢?
不是这个原因,我有将等于null的语句去掉后再来,可是还是一样报错。我不知道你的意思是不是说inputStream等于null之后又开启了这个流吗?对于这个InputStream对象有种单例的感觉,可是即使单例也不应该报这个错啊。大神~~救救我吧置空是被允许的版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。