importorg.apache.commons.lang3.StringUtils;importorg.ini4j.Config;importorg.ini4j.Ini;importorg.ini4j.Profile.Section;importcom.google.common.io.Resources;importjava.io.IOException;importjava.net.URL;importjava.util.Map.Entry;importjava.util.Set;/***
* Init4jExample.java
*@authorkanpiaoxue
*@version1.0
* Create Time 2014年7月5日 下午12:43:04
* Description : init4j 的使用
*
*/public classInit4jExample {private static final String CONFIG_NAME = "hello.conf";private static final String SYSTEM = "system";private static final String COMPANY = "company";private static final String PROGRAM_NAME = "program_name";private static final String VERSION = "version";private static final String NAME = "name";private static final String AGE = "age";private static final String SEX = "sex";private static final String ADDRESS = "address";/***
*@paramargs
*
*/public static voidmain(String[] args) {
Config cfg= newConfig();//生成配置文件的URL
URL url =Resources.getResource(CONFIG_NAME);//设置Section允许出现重复
cfg.setMultiSection(true);
Ini ini= newIni();
ini.setConfig(cfg);try{//加载配置文件
ini.load(url);
System.out.println(StringUtils.center(SYSTEM,50, '='));//读取 system
Section section =ini.get(SYSTEM);
System.out.println(PROGRAM_NAME+ " : " +section.get(PROGRAM_NAME));
System.out.println(VERSION+ " : " +section.get(VERSION));//读取没有规律的person系列
System.out.println(StringUtils.center("person", 50, '='));
Set> set =ini.entrySet();for (Entryentry : set) {
String sectionName=entry.getKey();//跳过 system 和 company
if (!SYSTEM.equals(sectionName) && !COMPANY.equals(sectionName)) {
System.out.println(NAME+ " : " +entry.getValue().get(NAME));
System.out.println(AGE+ " : " +entry.getValue().get(AGE));
System.out.println(SEX+ " : " +entry.getValue().get(SEX));
}
}//读取具有相同 Section 的 company
System.out.println(StringUtils.center(COMPANY, 50, '='));for(Section session : ini.getAll(COMPANY)) {
System.out.println(NAME+ " : " +session.get(NAME));
System.out.println(ADDRESS+ " : " +session.get(ADDRESS));
}
}catch(IOException e) {
e.printStackTrace();
}
}
}