ERROR:使用dom4j解析xml檔案遇到中文路徑問題
阿新 • • 發佈:2019-01-09
在使用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流,即可解析中文路徑和中文檔名;