在Java中从classpath读取文件,可以使用下面的方法:
- 使用ClassLoader获取classpath资源作为流读取:
InputStream input = this.getClass().getClassLoader().getResourceAsStream("config.properties");
- 使用Class的getResourceAsStream方法读取classpath资源:
InputStream input = this.getClass().getResourceAsStream("/config.properties");
- 使用ClassLoader的getSystemResourceAsStream方法读取系统classpath下的资源:
InputStream input = ClassLoader.getSystemResourceAsStream("config.properties");
- 使用ServletContext的getResourceAsStream方法读取Web应用classpath下的资源:
InputStream input = getServletContext().getResourceAsStream("/WEB-INF/config.properties");
需要注意的是:
- classpath资源要以’/”开始
- 读取到的流需要关闭
以上都是可以从classpath中读取文件的标准方法,根据项目类型选择合适的方式即可。