Properties
javaのpropertiesについて。
カレントにpropertyファイルがある例は、よく目にしますが、任意のクラスパスの上に置く事ができます。
//Propertiesオブジェクトの生成
Properties prop = new Properties();
//ファイルを読み込む
InputStream ips =
this.getClass().getClassLoader().getResourceAsStream("p.properties");
prop.load(ips);
String a = prop.getProperty("a");
これだけ。実にシンプル。
実はこれを教えてもらう前に、classpathを取得してStringTokenizerで分解して、existsでpropertyファイルの存在を確認して、prop.loadする30行くらいのコードを書いたのですが当然没。
static mainなどでthisが使えない場合は、(クラス名).class.getClassLoader().getResourceAsStream("p.properties");
で、うまくいきました。


コメントする