org.apache.commons.configuration.Configuration读取 *.properties 配置文件

我们在编程的过程中经常会读取 *.properties 的配置文件,方便在运行程序的时候可以动态的指定一些程序的配置信息。

这里采用 org.apache.commons.configuration.Configuration 来读取配置文件。

它的官网地址是: http://commons.apache.org/proper/commons-configuration/

它不仅仅能读取 *.properties 的配置文件,还能读取 *.xml 的配置文件。我这里只展示读取 *.properties 的配置文件。

它的maven pom.xml 依赖部分如下:

<dependency>
	<groupId>commons-configuration</groupId>
	<artifactId>commons-configuration</artifactId>
	<version>1.10</version>
</dependency>

 我的测试的配置文件如下:

usergui.properties

# Properties definining the GUI
colors.background = #FFFFFF
colors.foreground = #000080

window.width = 500
window.height = 300

# chart colors
colors.pie = #FF0000;
colors.pie = #00FF00;
colors.pie = #0000FF;

 java代码如下:

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;

import java.util.List;

/**
 * <pre>
 * Test.java
 * @author kanpiaoxue<br>
 * @version 1.0
 * Create Time 2014年7月6日 下午10:54:37<br>
 * Description : 读取 *.properties 配置文件
 * </pre>
 */
public class Test {

    public static void main(String[] args) {
        try {
            // usergui.properties 文件必须在classpath中
            Configuration config = new PropertiesConfiguration(
                    "usergui.properties");

            System.out.println("colors.background:"
                    + config.getString("colors.background"));
            // output : colors.background:#FFFFFF

            System.out.println("window.width:" + config.getInt("window.width"));
            // output: window.width:500

            String[] colors = config.getStringArray("colors.pie");
            System.out.println("colors.pie array:" + colors);
            // output: colors.pie array:[Ljava.lang.String;@369ca84f

            List<Object> colorList = config.getList("colors.pie");
            System.out.println("colors.pie list:" + colorList);
            // output: colors.pie list:[#FF0000;, #00FF00;, #0000FF;]
        } catch (ConfigurationException e) {
            e.printStackTrace();
        }

    }
}

 

你可能感兴趣的:(configuration)