我们在编程的过程中经常会读取 *.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();
}
}
}