概要
プロパティ・ファイル(.properties)
[1] 拡張子は「.properties」のテキストファイル [2] プログラムで使用する各種設定を記述するために用いる [3]「キー=値」形式で記述
注意
* ファイルを読んで、そのファイルを書き込んだ際の注意 1) コメントアウト(#)がなくなってまう 2) タブが「\t」に変換されてしまう(下記「例」を参照のこと)
例
【変換前】 logging_collector = on # Enable capturing of stderr and csvlog 【変換後】 logging_collector=on\t\t\# Enable capturing of stderr and csvlog
サンプル
SampleProperties.java
* ファイル名を「conf.properties」とするプログラムimport java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class SampleProperties { public static void main(String[] args) { // Propertiesオブジェクトを生成 Properties properties = new Properties(); try { // ファイルを書き込む properties.setProperty("name", "Coco"); properties.setProperty("age", "10"); properties.setProperty("x01.name", "Bella"); properties.setProperty("x01.age", "0.4"); properties.setProperty("x01.name", "Deco"); properties.setProperty("x01.age", "0.3"); properties.setProperty("path", "C:\\eclipse"); properties.store(new FileOutputStream("conf/conf.properties"), "Comments"); // ファイルを読み込む properties.load(new FileInputStream("conf/conf.properties")); System.out.println("name = " + properties.getProperty("name")); System.out.println("age = " + properties.getProperty("age")); System.out.println("x01.name = " + properties.getProperty("x01.name")); System.out.println("x01.age = " + properties.getProperty("x01.age")); System.out.println("path = " + properties.getProperty("path")); System.out.println("Done"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
出力結果
* 同じキー値は上書きされるコンソール画面
name = Coco age = 10 x01.name = Deco x01.age = 0.3 path = C:\eclipse Done
conf.properties
#Comments #Mon Jun 09 21:20:19 JST 2014 x01.name=Deco age=10 name=Coco path=C\:\\eclipse x01.age=0.3
参考文献
http://www.syboos.jp/java/doc/properties-read-write.htmlhttp://sweng.web.fc2.com/ja/program/java/how-to-use-properties.html