在我的Web应用程序中,我在web文件夹中使用属性文件,我需要从同一应用程序中的java文件中引用属性文件以获取属性的值。我该如何提供路径?我需要路径名而不是URI。我的代码如下:
Properties prop = new Properties();
FileInputStream propertiesStream = null;
try {
propertiesStream = new FileInputStream("..\Files\Prop.properties");
prop = new Properties();
prop.load(propertiesStream);
prop.getProperty("id");
propertiesStream.close();
} catch (IOException ioException) {
System.out.println("PropertiesLoader IOException message:" + ioException.getMessage());
}
答案 0 :(得分:3)
考虑到它是一个属性文件,我建议您从类路径中将其作为ResourceBundle
获取。
E.g。说你把属性文件放在这里:
/WEB-INF/classes/MyProperties.properties
您可以使用以下代码获取它:
ResourceBundle props = ResourceBundle.getBundle("MyProperties");
或作为Properties
对象:
Properties props = new Properties();
InputStream is = getClass().getResourceAsStream("MyProperties");
props.load(is);
is.close();
答案 1 :(得分:1)
如果要阅读包中的属性文件,则应使用 -
InputStream is = pageContext.getServletContext().getResourceAsStream("/props/env- props.properties");
BufferedReader reader = new BufferedReader(is);
获得推荐的读者后,您可以根据需要操作它。这样你真的不需要servlet和web应用程序的路径。上面的方法将在类路径中查找资源。