如何访问 java 属性文件
How to access java properties file
我有一个属性文件。
#My properties file
config1=first_config
config2=second_config
config3=third_config
config4=fourth_config
我有一个 class 可以在小型 Java 应用程序中加载属性文件。它工作正常,特别是当我尝试访问此 class 方法中的每个 属性 时。
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);
}
}
}
我正在另一个 class 中调用 class 的方法。
public class MyClass {
public void myMethod() {
LoadProperties lp = new LoadProperties();
lp.loadProperties();
/*..More code...*/
}
}
如何在 MyClass
class 中访问 myMethod
方法中的属性?
我尝试输入 prop.getProperty("[property_name]")
,但不起作用。
有什么想法吗?我假设这将是我访问属性的方式。我可以将它们存储在 loadProperties
class 和 return 变量中的变量中,但我认为我可以按照上面所说的方式访问它们。
您可以更改 LoadProperties class 以加载属性并向 return 加载的属性添加方法。
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"));
}
}
我有一个属性文件。
#My properties file
config1=first_config
config2=second_config
config3=third_config
config4=fourth_config
我有一个 class 可以在小型 Java 应用程序中加载属性文件。它工作正常,特别是当我尝试访问此 class 方法中的每个 属性 时。
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);
}
}
}
我正在另一个 class 中调用 class 的方法。
public class MyClass {
public void myMethod() {
LoadProperties lp = new LoadProperties();
lp.loadProperties();
/*..More code...*/
}
}
如何在 MyClass
class 中访问 myMethod
方法中的属性?
我尝试输入 prop.getProperty("[property_name]")
,但不起作用。
有什么想法吗?我假设这将是我访问属性的方式。我可以将它们存储在 loadProperties
class 和 return 变量中的变量中,但我认为我可以按照上面所说的方式访问它们。
您可以更改 LoadProperties class 以加载属性并向 return 加载的属性添加方法。
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"));
}
}