开发者社区> 问答> 正文

io 中inputStream关闭报错?报错

遇到一个问题,先后调用到一个公共方法,方法内容如下。总是报错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> 



展开
收起
爱吃鱼的程序员 2020-06-22 10:59:25 650 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    是否会是你关闭了inputStream之后又等于null了呢?

    不是这个原因,我有将等于null的语句去掉后再来,可是还是一样报错。我不知道你的意思是不是说inputStream等于null之后又开启了这个流吗?对于这个InputStream对象有种单例的感觉,可是即使单例也不应该报这个错啊。大神~~救救我吧置空是被允许的
    2020-06-22 10:59:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载