首页 > Stream closed异常

Stream closed异常

我有两个方法,分别解析两段接收到的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;
          
    }

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

【热门文章】
【热门文章】