使用Commons  Configuration可以很好的管理我们的配置文件的读写,

官网:http://commons.apache.org/configuration

需要用到commons-lang,commons-collections,commons-logging,log4j jar包

public class Test {
    
    public static  void main(String[] args) throws ConfigurationException, InterruptedException {
        xmlLoadTest();
        fileLoadTest();
        saveTest();
        runtimeReload();
    }

    //xml文件
    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文件
    private static void fileLoadTest() throws ConfigurationException {
        String file = "test2.properties";
        PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
        System.out.println(config.getString("url"));
    }

    //保存到文件
    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);
    }

    //运行期参数修改加载
    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"));
    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-02-14 15:48  程序那些事  阅读(3884)  评论(0编辑  收藏  举报
http://www.cnblogs.com/weiguo21/p/5191887.html