我是java的新手。我想在java中读取属性文件。但我在同一个项目中的不同路径中有我的属性文件。
我不想硬编码。我想试试动态路径。 这是我的代码,
Properties properties = new Properties();
try{
File file = new File("myFile.properties");
FileInputStream fileInput = new FileInputStream(file);
properties.load(fileInput);
}catch(Exception ex)
{
System.err.println(ex.getMessage());
}
我的文件位于文件夹webapp/txt/myFile.properties
。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
解决此问题的一种方法是将文件的绝对路径分为两部分
您可以在应用程序中处理这两个属性并连接并获取文件的绝对路径。相对路径仍然是可配置的。
答案 1 :(得分:1)
public Properties loadDBProperties() {
InputStream dbPropInputStream = null;
dbPropInputStream = DbConnection.class
.getResourceAsStream("MyFile.properties");
dbProperties = new Properties();
try {
dbProperties.load(dbPropInputStream);
} catch (IOException ex) {
ex.printStackTrace();
}
return dbProperties;
}
您可以从
调用此方法dbProperties = loadDBProperties();
String dbName = dbProperties.getProperty("db.schema");//you can read your line form here of properties file
答案 2 :(得分:0)
如果它在webapp/txt.myFile.properties
和webapp下面是公共网站空间,那么你需要使用绝对网址来阅读它
getServletContext().getRealpath("/txt/myFile.properties")
答案 3 :(得分:0)
Properties prop=new Properties();
InputStream input = getServletContext().getResourceAsStream("/txt/myFile.properties");
prop.load(input);
System.out.println(prop.getProperty(<PROPERTY>));