プロパティファイルの使用方法
概要
プログラミングでは、処理内容とデータをファイル的に分断したい場合がある。
例えば、プログラム中にデータを書き込んでいた場合。
- データの修正漏れや記述ミスにより、特定箇所のみ動かなくなるバグの原因となり得る。
- ステージング環境と本番環境を切り替えるとき、プログラムに手を入れる必要がある。
- 開発してる人に重要な情報(パスワードなど)を公開してしまう。
このような事態を防ぐには、それらを別ファイルに用意し、
プログラムはそのデータを参照するような構造を用意する必要がある。
これらの実装方法について記述する。
事前準備
データを保存するファイルの作成
Javaでは、***.properties (***には名前) ファイルで作成する。
.propertitesファイルの文字コードは ISO 8859_1 なので、
日本語を使用する場合は、エディタをダウンロードした方が望ましい。
私が個人的に使ってるのは、プロパティ・エディター。
インストール手順は以下の通り。(2015/12/27現在)
以下はウィンドウの指示に従ってください。
なお、インストール後 .properties ファイルをプロパティ・エディターで開けない場合、
[ウィンドウ(W)]->[設定(P)] で .properties ファイルに対するエディタの関連付けを設定します。
詳細説明
実装は至ってシンプルで、.propertiesファイルとそれを扱う専用クラスを1つ作成すればOK。
なお、.propertiesファイルはパスが通っているところに設置してください。
プロパティファイル(conf.properties)
# メール題名のつもり ←コメント subject = サンプル # メール本文のつもり body = ああああ
プロパティファイルを扱うクラス(Property.java)
import java.util.ResourceBundle; public class Property { // conf.properties データ private ResourceBundle bundle = ResourceBundle.getBundle("conf"); // キーに対応する値を取得する。 public String getString(String key) { return bundle.getString(key); } // キーに対応する数値を取得する。 public int getInt(String key) { return Integer.parseInt(bundle.getString(key)); } }
プロパティファイルから値を使う場合。
Property property = new Property(); System.out.println("題名 : " + property.getString("subject")); System.out.println("本文 : " + property.getString("body"));
出力結果
題名 : サンプル 本文 : ああああ