使用Commons Configuration可以很好的管理我们的配置文件的读写,官网:
http://commons.apache.org/configuration/
它支持对配置文件的读取,保存,运行期加载,操作非常方便。下面简单的一下代码示例一下,具体的其他操作文档可以去官方找到:
需要用到commons-lang,commons-collections,commons-logging,log4j jar包
Configuration 的参数可能来自下面的资源:
Properties files XML documents,Property list files (.plist),JNDI,JDBC Datasource,System properties, Applet parameters,Servlet parameters
它支持对配置文件的读取,保存,运行期加载,操作非常方便。下面简单的一下代码示例一下,具体的其他操作文档可以去官方找到:
需要用到commons-lang,commons-collections,commons-logging,log4j jar包
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
public
class
Test
{
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void main(String[] args) throws ConfigurationException, InterruptedException
{
xmlLoadTest();
fileLoadTest();
saveTest();
runtimeReload();
}
//xml文件
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void xmlLoadTest() throws ConfigurationException
{
String file = "test1.xml";
XMLConfiguration config = new XMLConfiguration(Test.class.getResource(file));
System.out.println(config.getString("conf.url"));
System.out.println(config.getDouble("conf.money"));
}
//properties文件
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
private static void fileLoadTest() throws ConfigurationException
{
String file = "test2.properties";
PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
System.out.println(config.getString("url"));
}
//保存到文件
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void saveTest() throws ConfigurationException
{
String file = "test2.properties";
PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
//设置自动保存 或显示调用 config.save();
config.setProperty("colors.background", "#000000");
config.setAutoSave(true);
}
//运行期参数修改加载
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void runtimeReload() throws ConfigurationException, InterruptedException
{
String file = "test2.properties";
PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
config.setReloadingStrategy(new FileChangedReloadingStrategy());
System.out.println(config.getString("url"));
Thread.sleep(10000);//在休眠期间,手动修改文件里面的url值后观察日志情况
System.out.println(config.getString("url"));
}
}
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.blogjava.net/Images/dot.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/InBlock.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](http://jportal.iteye.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
Configuration 的参数可能来自下面的资源:
Properties files XML documents,Property list files (.plist),JNDI,JDBC Datasource,System properties, Applet parameters,Servlet parameters