Java > Propertiesの使い方

更新日 2013-12-04
広告

java.util.Propertiesの使い方を紹介します(Java version 1.6.0以上)。

Propertiesを利用すると、key-value型の設定ファイルを簡単に扱えます。

まず、設定ファイル app.properties の内容を読み込んでみます。 app.propertiesの内容は以下です。

name=MyApplication
app.properties を読み込むサンプル TestApp は以下です。
import java.io.*;
import java.util.*;

public class TestApp {
    public static void main(String[] args) throws IOException {
	FileInputStream fis = new FileInputStream(new File("app.properties"));
	Properties props = new Properties();
	props.load(fis); // 読み込み
	fis.close();
	System.out.println(props.getProperty("name"));
    }
}
nameをキーとして、app.propertiesから値を取得します。また、TestApp.classとapp.propertiesは、同じディレクトリに配置しておきます。
Properties$ ls
TestApp.class  TestApp.java   app.properties
TestAppの実行結果は以下です。
Properties$ java TestApp
MyApplication
設定ファイルの値を更新することも簡単です。 以下のサンプル TestApp2 では、key-valueのペアを app2.properties ファイルに書き込みます。
import java.io.*;
import java.util.*;

public class TestApp2 {
    public static void main(String[] args) throws IOException {
	Properties props = new Properties();
	props.setProperty("age", "33");

	FileOutputStream fos = new FileOutputStream(new File("app2.properties"));
	props.store(fos, "store test"); // 書き込み
	fos.close();
    }
}
書き込みの際はコメントを指定できます。 TestApp2の実行すると、app2.propertiesファイルが更新されます(ファイルが無い場合は生成されます)。 app2.propertiesの内容は以下です。
#store test
#Mon Nov 28 23:06:44 JST 2011
age=33
コメントと、更新日時、key-valueが書き込まれています。

複数行を定義

以下のように、バックスラッシュを使うと、"aaaa bbb"という値となる。 つまり、ファイル上は二行だが、プログラムでは一行の文字列となる。
usage=aaaa \
bbb
以下のようにバックスラッシュ + n + バックスラッシュ、とすると、プログラム上でも二行として扱われる。
usage=aaaa \n\
bbb
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system