読者です 読者をやめる 読者になる 読者になる

propertiesファイルから設定値を読み込む

備忘録としてのJavaソースコードを貯めておきます。

私的スニペットです。ご自由にお使いくださいw

propertiesファイルを準備する

設定値を記載しておくpropertiesファイルを準備します。

記載ルール
  • 1行に[key=value]の形式で記載
  • 拡張子は[.properties]
  • 配置場所は、SourceFolder直下が一般的 (以下の説明はSourceFolder直下を前提とします)
sample.properties
sample.id=hoge
sample.passwd=fuga

propertiesファイルで日本語を使う

日本語(表示メッセージ等)を利用する場合は、Unicodeエスケープ形式で記載します。
Unicodeエスケープについては、JDKのnative2asciiコマンドで変換可能です。

ちなみにこれを
sample.message=記事アップなう
こうすると
native2ascii [対象ファイルパス] [出力先ファイルパス]
こうなる
sample.message=\u8a18\u4e8b\u30a2\u30c3\u30d7\u306a\u3046

Eclipseプラグイン:【プロパティエディタ】

propertiesファイルを編集する都度、native2asciiコマンドを実行するのは面倒なので、
プロパティエディタをインストールしておくと非常に便利です。

update-site

propertiesファイルから設定値を取得する

前置きが長くなりました(・ω・;

ソース
InputStream is = null; 
try { 
    is = this.getClass().getClassLoader().getResourceAsStream("sample.properties");
    Properties prop = new Properties(); 
    prop.load(is); 
    prop.getProperty("sample.id");
    prop.getProperty("sample.passwd");
}catch (Exception e){
    e.printStackTrace();
}finally {
    if (is != null){
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

まとめ

propertiesファイルの利用方法については以上です。

用途については、動作環境毎に切り替える必要のある、設定値を記載するのが一般的かと思います。
DB接続関連、Log関連、表示メッセージやマルチランゲージ対応ってとこでしょうか。

ライブラリ作成時なんかは、重宝するかもしれませんね(・ω・)ノシ