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