Java 获取资源文件的方式


  1. 在普通 Java 类中获取资源文件
  1. 通过类加载器获取。例如:
    InputStream in = Test.class.getClassLoader().getResourceAsStream("db.properties");

由于类加载器只在加载类的时候调用,如果在这之后修改了资源文件的内容,这种方式无法获取到更新后的内容。因为类只加载一次。

  1. 先使用类加载器获取资源文件路径,再使用普通文件读取方法获取资源文件内容。

这种方式可以获取文件更新后的内容。因为每次读取都会直接从文件读取。

String path = Test.class.getClassLoader().getResource("db.properteis").getPath();
 InputStream in = new FileInputStream(path)
  1. 在 Web 项目中的 Servlet 里通过 ServletContext 对象读取资源文件。
InputStream in = getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");