如何访问java属性文件

时间:2016-09-09 19:57:29

标签: java class properties getproperties

我有一个属性文件。

#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类中的变量中并返回变量,但我认为我可以访问它们,如上所述。

1 个答案:

答案 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"));
    }
}