把文件放在src 就叫类路径:
类对象获取: 通过类名.class即可
image.pngimage.png
image.png

一般使用类对象(类名.class)提供的输入流 getResourceAsStream从源头获取流(// 获取资源成为流),里面的参数写/文件名(返回的是一个输入流对象)

// 注意:只有getResourceAsStream中的/是直接去src下寻找文件
image.png

  1. package com.itheima.d1_dom4j;
  2. import org.dom4j.Document;
  3. import org.dom4j.Element;
  4. import org.dom4j.io.SAXReader;
  5. import org.junit.Test;
  6. import java.io.InputStream;
  7. /**
  8. * 目标:学会使用dom4j(框架)解析XML文件中的数据
  9. * 1. 导入dom4j框架
  10. * 2. 准备一个XML文件
  11. */
  12. public class Dom4JHelloWorldDemo1 {
  13. @Test
  14. public void parseXMLData() throws Exception {
  15. // 1. 创建一个Dom4j的解析器对象,代表了整个dom4j框架
  16. SAXReader saxReader = new SAXReader();
  17. // 2. 把XML文件加载到内存中成为一个Document文档对象
  18. // 在开发中不会通过文件名去定位: 因为相对路径的模块名会被改
  19. // Document document = saxReader.read(new File("xml-app\\src\\Contacts.xml"));
  20. // 一般使用类对象(类名.class)提供的输入流 getResourceAsStream从源头获取流,里面的参数写/文件名(返回的是一个输入流对象)
  21. // 注意:只有getResourceAsStream中的/是直接去src下寻找文件
  22. InputStream is = Dom4JHelloWorldDemo1.class.getResourceAsStream("/Contacts.xml");
  23. Document document = saxReader.read(is); // 把xml文件,读成了文档对象
  24. // 3. 获取根元素对象
  25. Element rootElement = document.getRootElement();
  26. // 获取根元素对象的名字:
  27. System.out.println(rootElement.getName()); //<contactList>
  28. }
  29. }