您的位置:首页 > 编程语言 > Java开发

dom4j解析一个xml报文,如果是java项目解析没有任何问题,可是放在weblogic下面解析就出现错

2014-10-15 14:50 531 查看
 org.dom4j.DocumentException: Error on line -1 of document  : Invalid encoding name "GBK". Nested exception: Invalid encoding name "GBK".

方法如下:

public RequestXml(String astrFileName)

  {

    if (bDebug) {

      strFileName = astrFileName;

    }

    else {

      //new ConfigCache();

      strFileName = Nsrxx.get("CUR_PATH_PORT") + ConfigCache.getConfigItem("CONTROLFILENAME.REQUEST", "request.xml");

    }

    boolean exists = (new File(strFileName)).exists();

    if (exists) {

      SAXReader reader = new SAXReader();

      try {

        FileInputStream is = new FileInputStream(new File(strFileName));

        

        byte[] b = new byte[1024];

        int len = 0;

        int temp=0;

        while((temp=is.read())!=-1){

         b[len] = (byte) temp;

         len++;

        }

        is.close();

        System.out.println(new String(b,0,len));

        reader.setEncoding("GBK");

        Document doc1 = null;

        //doc1 = reader.read(new File(strFileName));

        doc1 = reader.read(is);

        doc = doc1;

        is.close();

        root = doc.getRootElement();

      }

      catch (Exception ex) {

        ex.printStackTrace();

      }

    }
  }

改程序放在java程序当中没有任何问题,正常运行,可以转换成web项目的时候就报错。网上尝试了各种添加启动参数等方法都无法奏效。不知道是啥原因,要崩溃的节奏。经过各种验证将程序当中 doc1 = reader.read(is);该行次修改为 doc1 = reader.read(new InputStreamReader(is,"GBK"));程序就可以执行没有任何问题。暂时还未探究深层次的原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐