我有一个属性文件。
#My properties file
config1=first_config
config2=second_config
config3=third_config
config4=fourth_config
我有一个类在一个小型Java应用程序中加载属性文件。它工作正常,特别是当我尝试访问这个类的方法中的每个属性时。
public class LoadProperties {
public void loadProperties() {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("resources/config.properties");
prop.load(input);
} catch (Exception e) {
System.out.println(e);
}
}
}
我在另一个类中用方法调用该类的方法。
public class MyClass {
public void myMethod() {
LoadProperties lp = new LoadProperties();
lp.loadProperties();
/*..More code...*/
}
}
如何在myMethod
课程的MyClass
方法中访问属性?
我尝试输入prop.getProperty("[property_name]")
,但这不起作用。
有什么想法吗?我假设这将是我访问属性的方式。我可以将它们存储在loadProperties
类中的变量中并返回变量,但我认为我可以访问它们,如上所述。
答案 0 :(得分:2)
您可以更改LoadProperties类以加载属性并添加方法以返回已加载的属性。
public class LoadProperties {
Properties prop = new Properties();
public LoadProperties() {
try (FileInputStream fileInputStream = new FileInputStream("config.properties")){
prop.load(fileInputStream);
} catch (Exception e) {
System.out.println(e);
}
}
public Properties getProperties() {
return prop;
}
}
然后像这样使用它
public class MyClass {
public void myMethod() {
LoadProperties loadProperties = new LoadProperties();
System.out.println(loadProperties.getProperties().getProperty("config1"));
}
}