0

プロパティファイルがあります。

#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を返すこともできますが、上記の方法でそれらにアクセスできると思いました。

4

1 に答える 1

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"));
    }
}
于 2016-09-09T20:14:37.603 に答える