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"));程序就可以执行没有任何问题。暂时还未探究深层次的原因。
方法如下:
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"));程序就可以执行没有任何问题。暂时还未探究深层次的原因。
相关文章推荐
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- 一个关于javaweb项目名处出现红叉,而项目下的目录和文件没有红叉的问题
- 在Myeclipse中复制一个没有语法错误及其其他错误项目后再粘贴项目到工作区出现的语法报错问题 关键字:java & web project
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- 问题:MyEclipse 安装后执行一个java项目,出现下面的异常;应检查哪些内容?
- java stax xml解析出现的一个死循环
- myeclipse导入别人的项目的时候,自己好不容易改成文件都没报错了,可是项目名那一个红色叉叉,下面文件明明没有错
- springmvc+mybatis+maven项目集成的时候遇到一个问题,项目搭起来以后,http请求怎么都进不到controller中,页面直接返回404错误,控制台没有报任何错误,请大神帮我看看
- eclipse导入了一个java项目,没有jre system library问题
- 关于web项目创建后WEB-INF下面没有出现web.xml的解决方法
- 在Eclispe中新建了一个web项目,没有出现web.xml的原因
- 深入springMVC------文件上传源码解析(上篇) 最近在项目中,使用springmvc 进行上传文件时,出现了一个问题: org.springframework.web.multipart
- dom4j 使用xpath 解析 persistence.xml 出现xmlns后不能解析问题解决
- Weblogic 11g下部署java 项目出现QName问题的解决
- java stax xml解析出现的一个死循环
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
- springmvc+mybatis+maven项目集成的时候遇到一个问题,项目搭起来以后,http请求怎么都进不到controller中,页面直接返回404错误,控制台没有报任何错误,请大神帮我看看
- 部署java项目出现base 64解析问题
- 管理一个项目团队的问题就是要实现以十当一,而不是以一当十!世界上没有任何两个人是完全相同的,任何人管理自己的方式也没有完全一样的。因而以一当十的英雄式的工作方式不难实现,难的是把这些能以一当十的英雄聚到一起,变成以十当一的团队工作方式