由于最近需要针对xml做一些解析工作,决定使用dom4j进行解析,其中碰到了org.dom4j.DocumentException: null Nested exception: null的问题,明显是因为找不到文件路径。而我用的是网上经典的语句 InputStream in = TestDom4j.class.getResourceAsStream(xmlFilePath)。个人目测,很多人都是看到的都是这个版本(http://lavasoft.blog.51cto.com/62575/66953),但是其中需要将xml进行一定路径的放置,这十分的不方便,不能以绝对路径方式指定xmlFilePath,需要能够解析任意形式的xml绝对路径下的文件。
接着进行了一些查找,主要是针对class.getResourceAsStream的使用,遗憾的发现大多数文章都是在当前类的各种相对路径上进行了解释,也就是会所貌似class.getResourceAsStream是和当前类路径相关的一种文件流获取方式。其实没必要陷在其中,很简单的一句话就能变通,那就是让InputStream从FileInputStream中获得流即可,这样就可以任意指定文件了,代码如下:
联系客服