2010年08月10日
[java]java.util.Properties
javaの勉強
java.util.Propertiesの使用メモ
しばらくrubyとかjsを使っていて、yamlとかjsonを多用していたので
xmlの冗長な記述をみるとひるんでしまいます
ということで制約がなければついプロパティファイルを使ってしまいます
java.util.Propertiesの使用メモ
しばらくrubyとかjsを使っていて、yamlとかjsonを多用していたので
xmlの冗長な記述をみるとひるんでしまいます
ということで制約がなければついプロパティファイルを使ってしまいます
import java.io.FileInputStream; import java.io.IOException; import java.util.Enumeration; import java.util.Properties; public class PropertiesTest { private void test(){ try { // ファイルにkeyで設定されている値を取得します Properties prop = new Properties(); // key=valueとして記述されたファイルからの読み込み prop.load(new FileInputStream("conf/test.properties")); prop.load(new FileInputStream("conf/hoge.properties")); prop.load(new FileInputStream("conf/foo.properties")); //xml形式で記述されたファイルからの読み込み prop.loadFromXML(new FileInputStream("conf/test.xml")); // keyに紐づくvalueを取得する String name = prop.getProperty("name"); String foo = prop.getProperty("foo"); String title = prop.getProperty("title"); System.out.println("name:" + name); // -> name:hoge System.out.println("foo:" + foo); // -> foo:fooval System.out.println("title:" + title); // -> title:PropertiesTest // keyがない場合には設定されたデフォルト値を返す // デフォルト値が設定されていない場合はnullが返却される String data1 = prop.getProperty("data","default"); System.out.println("data1:" + data1); // -> data1:default String data2 = prop.getProperty("data"); System.out.println("data2:" + data2); // -> data2:null // プロパティのリストを出力する prop.list(System.out); // -- listing properties -- // name=hoge // title=PropertiesTest // foo=fooval // test=xml_test // プロパティのキーのリストを取得する Enumeration keys = prop.propertyNames(); System.out.println("-- propertyNames --"); while(keys.hasMoreElements()){ System.out.println(keys.nextElement()); } // -- propertyNames -- // name // title // foo // test // プロパティが保持しているkeyとvalueを出力ストリームに書き込む // key=valueの形式で出力する prop.store(System.out,"comment"); // #comment // #Tue Aug 10 20:40:34 JST 2010 // name=hoge // title=PropertiesTest // test=xml_test // foo=fooval // プロパティが保持しているkeyとvalueを出力ストリームに書き込む // xml形式で出力する prop.storeToXML(System.out,"comment"); // // // // comment // hoge // PropertiesTest // xml_test // fooval // } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { PropertiesTest prtest = new PropertiesTest(); prtest.test(); } }
トラックバックURL
この記事へのコメント
1. Posted by レトビラ|シアリス 購入 2011年11月28日 20:04
シアリス 福岡
エステ 格安
バイアグラ レビトラ
エステ 格安
バイアグラ レビトラ