问题描述
通过SAXReader对XML文件进行读取,代码没有报错,但是在运行时发生了异常。错误描述为:
Exception in thread “main” org.dom4j.DocumentException: Error on line 4 of document : 1 字节的 UTF-8 序列的字节 1 无效。 Nested exception: 1 字节的 UTF-8 序列的字节 1 无效。
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.java.demo3.Demo1.main(Demo1.java:19)
解决方法
1.将到项目文件从C盘移到项目文件夹
这是我第一次遇到这种错误,我觉得应该是输入流出了问题,因此我想换个文件路径会不会得到解决,一开始我是直接存放于c盘目录,后来我把它转移到了项目中,问题得到解决。
2.路径分隔符问题
为什么同样的文件在不同的存储位置会导致不同的结果呢?我猜想可能是我在路径分隔符使用上出了问题。我一开始的文件路径是这样的:
我分别试着将路径分隔符改成了“\”、“\”还有“/”,问题都不能得到解决,最后把路径改成C:Demo1.xml之后就可以了。
总结
虽然问题解决了,但是我的疑问仍然存在,在网上也没有找到相关资料,希望后续可以得到解决。