我们经常用getResourceAsStream来获取配置文件信息,也有2种方式getResourceAsStream,一种是class.getResourceAsStream,
另一种是classloader.getResourceAsStream,这2种方式有什么区别呢?
class.getResourceAsStream("path"):从当前class的目录下找资源
class.getResourceAsStream("/path");/代表了class的包名,也就是从root classpath寻找资源
而对于classloader.getResourceAsStream("path"),只有这种方式有效,效果同class.getResourceAsStream("/path"),从根目录去找。
另外,如果加载的文件出现乱码,可以使用InputStreamReader,如下:
Properties p = new Properties();
InputStreamReader isr = new InputStreamReader(classLoader.getResourceAsStream("dashboard-config.properties"), "utf-8");
p.load(isp);
网友评论