在Servlet中读取属性文件

时间:2014-10-08 21:36:26

标签: java classloader

我使用以下代码读取servlet中的属性文件。我想澄清getClass.getClassLoader().getResourceAsStream(...)行。

根据我的理解,getClassLoader()将获得与我定义的Servlet类相关联的类加载器。但是这与propFileName如何相关?

Properties prop = new Properties();
String propFileName = "config.properties";
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propFileName);
prop.load(inputStream);

String user = prop.getProperty("GOOGLE_CLIENT_ID");
String id = prop.getProperty("GOOGLE_REDIRECT_URL");

1 个答案:

答案 0 :(得分:0)

public InputStream getResourceAsStream(String name)

根据Java API,此方法查找具有给定名称/路径的资源。 搜索与ClassLoader相关联的资源的规则(给定的类由类的定义类加载器实现)。

参数“name”必须是文件的“绝对”路径,因此它将打开InputStream并将其实例传递给Properties.load(inputStream)方法。

Java API中明确提到了这一点。请看看: http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)

希望这有帮助!