为了账号安全,请及时绑定邮箱和手机立即绑定

Stream closed异常

Stream closed异常

九州编程 2019-04-19 16:29:54
我有两个方法,分别解析两段接收到的xml,我确定两个方法的参数request是不一样的。方法1可正确执行,方法2报错Streamclosed。我把inputStream.close()和inputStream=null注释掉还是一样。方法如下,方法1:publicstaticMapparseXml(HttpServletRequestrequest)throwsException{//将解析结果存储在HashMap中Mapmap=newHashMap();//从request中取得输入流InputStreaminputStream=request.getInputStream();//读取输入流SAXReaderreader=newSAXReader();Documentdocument=reader.read(inputStream);...//释放资源inputStream.close();inputStream=null;returnmap;}方法2:publicstaticvoidparseScanXml(HttpServletRequestrequest)throwsException{//从request中取得输入流InputStreaminputStream=request.getInputStream();//读取输入流SAXReaderreader=newSAXReader();Documentdocument=reader.read(inputStream);//得到xml根元素Elementroot=document.getRootElement();...inputStream.close();inputStream=null;}
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

request的inputstream只能被读取一次。你这是在什么环境下用的?struts2?springmvc?servlet?要在框架的合适位置中处理。
而且http是基于TCP的,有数据分片问题,最好是先全部读出,确认读完整之后再发给SAX读取器,否则可能会因为未读完整导致处理失败。
                            
查看完整回答
反对 回复 2019-04-19
?
UYOU

TA贡献1878条经验 获得超4个赞

嗨,楼主你好,不知道你还能看到回复不,我也遇到了一样的问题,不知道楼主解决了没有?我在一个服务器用是好的,放到另外一个服务器上就出现了这问题,找了很多没找到解决办法……
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 2761 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信