打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于dom4j读取xml文件的null Nested exception备忘

          由于最近需要针对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中获得流即可,这样就可以任意指定文件了,代码如下:

     

  1. public static Document parse2Document(String xmlFilePath)throws FileNotFoundException {   
  2.     SAXReader reader = new SAXReader();   
  3.     Document document = null;   
  4.     try {   
  5.         File f = new File(xmlFilePath);  
  6.         InputStream in = new FileInputStream(f);   
  7.         document = reader.read(in);   
  8.     } catch (DocumentException e) {   
  9.         System.out.println(e.getMessage());   
  10.         System.out.println("读取classpath下xmlFileName文件发生异常,请检查CLASSPATH和文件名是否存在!");   
  11.         e.printStackTrace();   
  12.     }   
  13.     System.out.println("Read over~~");  
  14.     return document;   
  15. }   

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
QTP的tsr对象库文件转换成XML
Java读取相对路径文件 &InputStream转换为String
dom4j处理中文之编码问题_
maven工程中读取resource目录下配置文件
java基础知识3获取资源文件的方法
java加载文件的3种方式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服