Thread.currentThread().getContextClassLoader().getResource("/") 查找给定资源的位置。
Thread.currentThread().getContextClassLoader().getResourceAsStream("abc.properties") 读取资源文件
使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例:
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
使用class变量的getResourceAsStream()方法
示例:
InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例:
InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);
Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:
InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);
server上面加载资源的方式如下:
protected synchronized void loadProperties() {
log.debug("loadProperties"
;
try {
oProperties = new Properties();
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
if (classloader == null) {
Properties iframeproperties = new Properties();
classloader = iframeproperties.getClass().getClassLoader();
}
InputStream inputstream = classloader.getResourceAsStream(propertyFileName);
if (inputstream != null) {
oProperties.load(inputstream);
inputstream.close();
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
这篇博客介绍了在Java中如何使用不同的方法读取资源文件,包括通过Thread.currentThread().getContextClassLoader().getResourceAsStream()、class.getClassLoader().getResourceAsStream()、ClassLoader.getSystemResourceAsStream()以及在Servlet中使用ServletContext.getResourceAsStream()。还展示了处理null ClassLoader的情况和加载服务器资源的示例。
320

被折叠的 条评论
为什么被折叠?



