Exception in thread "main" java.net.MalformedURLException: unknown protocol: c

来源:互联网 发布:xp系统终极优化 程序 编辑:程序博客网 时间:2024/05/04 02:34

最近在梳理自己自己的知识体系结构,在做Jdom解析xml的时候出现了这个异常

Exception in thread "main" java.net.MalformedURLException: unknown protocol: cat java.net.URL.(URL.java:574)at java.net.URL.(URL.java:464)at java.net.URL.(URL.java:413)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650)at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)at org.jdom.input.SAXBuilder.build(SAXBuilder.java:891)at xml.TestJdom.parseAndUpdateXML(TestJdom.java:32)at xml.TestJdom.main(TestJdom.java:23)


发现原因是xml文件不是放置在纯英文路径下(有空格或中文),因为如果是纯英文路径就没有问题了。
所以将

Document document = sb.build(path);

改为
File file =new File(path);
Document document = sb.build(file);


然后就没有上面异常可以正常读取。

0 0
原创粉丝点击