本文共 737 字,大约阅读时间需要 2 分钟。
在使用dom4j解析xml文件的时候,使用以下代码来解析含有中文的路径的时候,会报错:
SAXReader reader=new SAXReader();
Documentdom=reader.read(xmlFile);
Element root =dom.getRootElement();
报错:org.dom4j.DocumentException: no protocol: ResetMapXML\设定自稳模式参数.xml Nested exception: no protocol:ResetMapXML\设定自稳模式参数.xml
是指使用此包含中文的路径时候,找不到根文件来解析;
解决办法一:
文件保存的时候都是用utf-8编码来统一保存,这样就可以支持所有格式;
解决办法二:
使用如下代码:
SAXReader reader=new SAXReader();
Document dom=reader.read(new File(xmlFile));
Documentdom=reader.read(xmlFile);
转换成文件流即可解析,即可解析中文路径;
解决方法三:
使用如下代码:
SAXReader reader=new SAXReader();
InputStream ifile = new FileInputStream(xmlFile);
InputStreamReader ir = new InputStreamReader(ifile,"UTF-8");
Document dom = reader.read(ir);
root=dom.getRootElement();
转换成指定编码的IO流,即可解析中文路径和中文文件名;
转载地址:http://ydlrb.baihongyu.com/