Java 获取资源文件的方式
- 在普通 Java 类中获取资源文件
- 通过类加载器获取。例如:
InputStream in = Test.class.getClassLoader().getResourceAsStream("db.properties");
由于类加载器只在加载类的时候调用,如果在这之后修改了资源文件的内容,这种方式无法获取到更新后的内容。因为类只加载一次。
- 先使用类加载器获取资源文件路径,再使用普通文件读取方法获取资源文件内容。
这种方式可以获取文件更新后的内容。因为每次读取都会直接从文件读取。
String path = Test.class.getClassLoader().getResource("db.properteis").getPath();
InputStream in = new FileInputStream(path)
- 在 Web 项目中的 Servlet 里通过 ServletContext 对象读取资源文件。
InputStream in = getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");