今天运行一个小demo时,修改了一下要读取的文件,报错如下:
开始读取文件
org.dom4j.DocumentException: Error on line 1 of document : 前言中不允许有内容。
at org.dom4j.io.SAXReader.read(SAXReader.java:462)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:286)
at cn.testData.CalculateScore.call(StudentUtil.java:199)
at cn.testData.CalculateScore.call(StudentUtil.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
文件读取成功,符合要求的数量:8
花费时间:112
感觉是读取的文件有问题,因为之前是可以正常读取的!
后来发现果然是文件有问题,文件的编码格式是:utf-8 + BOM
utf-8+BOM编码格式,后端读取时,第一行是会做编码转换,导致乱码。
下面是解决方案:
用notepad打开,格式改成 “以utf-8无BOM格式编码”即可。