使用Commons Configuration可以很好的管理我们的配置文件的读写,
官网:http://commons.apache.org/configuration
需要用到commons-lang,commons-collections,commons-logging,log4j jar包
publicclassTest{
publicstaticvoidmain(String[]args)throwsConfigurationException,InterruptedException{
xmlLoadTest();
fileLoadTest();
saveTest();
runtimeReload();
}
//xml文件
publicstaticvoidxmlLoadTest()throwsConfigurationException{
Stringfile="test1.xml";
XMLConfigurationconfig=newXMLConfiguration(Test.class.getResource(file));
System.out.println(config.getString("conf.url"));
System.out.println(config.getDouble("conf.money"));
}
//properties文件
privatestaticvoidfileLoadTest()throwsConfigurationException{
Stringfile="test2.properties";
PropertiesConfigurationconfig=newPropertiesConfiguration(Test.class.getResource(file));
System.out.println(config.getString("url"));
}
//保存到文件
publicstaticvoidsaveTest()throwsConfigurationException{
Stringfile="test2.properties";
PropertiesConfigurationconfig=newPropertiesConfiguration(Test.class.getResource(file));
//设置自动保存或显示调用config.save();
config.setProperty("colors.background","#000000");
config.setAutoSave(true);
}
//运行期参数修改加载
publicstaticvoidruntimeReload()throwsConfigurationException,InterruptedException{
Stringfile="test2.properties";
PropertiesConfigurationconfig=newPropertiesConfiguration(Test.class.getResource(file));
config.setReloadingStrategy(newFileChangedReloadingStrategy());
System.out.println(config.getString("url"));
Thread.sleep(10000);//在休眠期间,手动修改文件里面的url值后观察日志情况
System.out.println(config.getString("url"));
}
}