我有一个扩展TagSupport的类文件,这里我想读取一个属性文件,但它不起作用。我认为getResourceAsStream返回null。
我在bith系统上使用爆炸战争文件。
代码:
公共类MyTag扩展了TagSupport {
private int getUsers() { ServletContext servletContext = pageContext.getServletContext(); InputStream in = pageContext.getServletContext().getResourceAsStream("/WEB-INF/app.properties"); Properties properties = new Properties(); properties.load(in); int users= Integer.parseInt(properties.getProperty("users")); return users; }
}
此代码适用于我的电脑,但不适用于测试系统。我得到以下异常:
java.lang.NullPointerException错误[STDERR] at java.util.Properties $ LineReader.readLine(Properties.java:418)错误 java.util.Properties.load0上的[STDERR](Properties.java:337) java.util.Properties.load(Properties.java:325)中的错误[STDERR]
答案 0 :(得分:1)
为什么app.properties
位于/WEB-INF
?如果它是/WEB-INF/classes
,您只需拨打getResourceAsStream("/app.properties")
即可。这是因为getResourceAsStream(...)
的参数是相对于类路径解析的。