http://commons.apache.org/proper/commons-configuration/
ini形式の設定ファイルをloadする必要があったので、探したら、見かけた。
※ini以外にも、 .xmlや .properties 等に対応しているようです。 ( 一方で、.json や、.yaml には対応していません )
package jp.end0tknr; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.Iterator; import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.INIConfiguration; import org.apache.commons.configuration2.ex.ConfigurationException; public class TestApacheCommonsConfiguration { public TestApacheCommonsConfiguration() {} public static void main(String[] args) { String confFilePath = "resource/test.ini"; String encoding = "SJIS"; File file = new File(confFilePath); FileInputStream input; InputStreamReader stream; try { input = new FileInputStream(file); stream = new InputStreamReader(input,encoding); } catch (FileNotFoundException | UnsupportedEncodingException e) { System.out.println(e.getClass().getName()+ " fail open file "+ confFilePath); return; } INIConfiguration configTmp = new INIConfiguration(); try { configTmp.read( new BufferedReader(stream) ); } catch (ConfigurationException | IOException e) { System.out.println(e.getClass().getName()+" fail read file "); return; } Configuration config = configTmp; Iterator<String> atriKeys = config.getKeys(); while(atriKeys.hasNext()) { String atriKey = (String)atriKeys.next(); if(! config.containsKey(atriKey) ){ System.out.println( "not exist key "+ atriKey); } System.out.println( atriKey+ "="+ config.getString(atriKey) ); } } }
; Test ini file to be included by a configuration definition [common] sysTitle = これは、テスト用のタイトルです [testini] loaded=yes
↑こう書くと、↓こう表示されます
common.sysTitle=これは、テスト用のタイトルです testini.loaded=yes
その他 - 参照したjar
- commons-configuration2-2.1.1.jar
- commons-logging-1.2.jar
- commons-beanutils-1.9.2.jar
- commons-lang3-3.5.jar