首先楼主先贴出楼主出现异常的代码吧
public void read(String fileName) throws DocumentException, SAXException {
SAXReader reader = new SAXReader();
this.document = reader.read(new File(fileName));
}
这段代码是没有问题的,但是为什么会出现标题中的异常呢
原因是因为,SAXReader在读取文件的时候会,解析当中的一些uri的合法性,
reader获取到传过来的文件,的时候会对文件中的一些uri'进行校验,但是由于一些不知名的原因例如,网络,例如地址使得reader在解析是超时,或者失败
从而抛出标题中的异常
解决的方法也很简单,那么就是让reader忽略当中的uri
SAXReader reader = new SAXReader();
// 不扫描dtd文件
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
this.document = reader.read(new File(fileName));
加上
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);