protected void sss()
{
//InputStream is = this.getClass().getClassLoader().getResourceAsStream("src/main/resources/OSGI-INF/app.properties");
try(FileReader reader=new FileReader("src/main/resources/OSGI-INF/app.properties")){
Properties pro=new Properties();
pro.load(reader);
String url=pro.getProperty("ConfirmProductMasterDataStatus");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我想访问位于" src / main / resources / OSGI-INF / app.properties "的属性文件。
答案 0 :(得分:1)
如果您的Class与属性文件位于同一文件夹中,则可以这样做:
InputStream is = MyClass.class.getResourceAsStream("app.properties.properties");
Properties pro=new Properties();
try {
pro.load(is);
} catch (IOException e) {
e.printStackTrace();
}
String url=pro.getProperty("ConfirmProductMasterDataStatus");
在不了解项目结构的情况下,我很难给你一个更通用的结构 我猜您的Main位于src / main,所以你可以这样做:
InputStream is = Main.class.getResourceAsStream("resources/OSGI-INF/app.properties");
Properties pro=new Properties();
try {
pro.load(is);
} catch (IOException e) {
e.printStackTrace();
}
String url=pro.getProperty("ConfirmProductMasterDataStatus");
请注意,如果更改项目的结构,则应记住注意路径仍然正确
答案 1 :(得分:0)
您应该可以使用类路径路径加载它:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("OSGI-INF/app.properties");
Properties pro=new Properties();
pro.load(reader);