java - Stream closed异常
ringa_lee
ringa_lee 2017-04-17 15:14:10
[Java讨论组]

我有两个方法,分别解析两段接收到的xml,我确定两个方法的参数request是不一样的。方法1可正确执行,方法2报错Stream closed。我把inputStream.close()和inputStream = null注释掉还是一样。
方法如下,

方法1:

public static Map<String, String> parseXml(HttpServletRequest request) throws Exception {  
        // 将解析结果存储在HashMap中  
        Map<String, String> map = new HashMap<String, String>();  
        // 从request中取得输入流  
        InputStream inputStream = request.getInputStream();  
        // 读取输入流  
        SAXReader reader = new SAXReader();  
        Document document = reader.read(inputStream);  
        ...
        // 释放资源  
        inputStream.close();  
        inputStream = null;
        return map;  
        
    } 

方法2:

public static void parseScanXml(HttpServletRequest request) throws Exception{
         // 从request中取得输入流  
        InputStream inputStream = request.getInputStream();
        // 读取输入流  
        SAXReader reader = new SAXReader();  
        Document document = reader.read(inputStream);  
        // 得到xml根元素  
        Element root = document.getRootElement();
        ...
          inputStream.close();  
          inputStream = null;
          
    }
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
迷茫

request 的 inputstream只能被读取一次。
你这是在什么环境下用的?
struts2? spring mvc? servlet?
要在框架的合适位置中处理。

怪我咯

嗨,楼主你好,不知道你还能看到回复不,我也遇到了一样的问题,不知道楼主解决了没有?
我在一个服务器用是好的,放到另外一个服务器上就出现了这问题,找了很多没找到解决办法……

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号