`

Apache Commons-Configuration

    博客分类:
  • java
阅读更多
【文章出处】http://wangxin0072000.iteye.com/blog/186009
Apache Commons-configuration 学习笔记
1 如果要使用configuration这个包,首先要保证使用JDK1.2以上,还要引入如下jar包

commons-beanutils
commons-lang
commons-logging
commons-collections
commons-digester
commons-codec
commons-jxpath

2 commons-configuration最新的版本是1.5,最主要的作用是读取资源文件,每一种文件格式都有一个对应的类,如下

properties文件--PropertiesConfiguration类
xml文件--XMLConfiguration
.ini文件--INIConfiguration
.plist文件--PropertyListConfiguration
还可以从JNDI中读取properties--JNDIConfiguration
当然还可以使用system的properties--SystemConfiguration
等等...

3 上面已经对它做了基本的介绍,下面看看这个包怎么用吧
比如我们要读一个properties文件:在classpath下面建立目录te,之后在te下面建立
test.properties
ip=127.0.0.1  
port=8080  
id=111  
application.name = Killer App   
application.version = 1.6.2  
application.title = ${application.name} ${application.version}   
keys=cn,com,org,uk,edu,jp,hk  

//注意路径默认指向的是classpath的根目录   
Configuration config = new PropertiesConfiguration("te/test.properties");   
String ip=config.getString("ip");   
int port=config.getInt("port");   
String title=config.getString("application.title");   
//再举个Configuration的比较实用的方法吧,在读取配置文件的时候有可能这个键值对应的值为空,那么在下面这个方法中   
//你就可以为它设置默认值。比如下面这个例子就会在test.properties这个文件中找id的值,如果找不到就会给id设置值为123   
//这样就保证了java的包装类不会返回空值。虽然功能很简单,但是很方便很实用。   
Integer id=config.getInteger("id", new Integer(123));   
//如果在properties 文件中有如下属性keys=cn,com,org,uk,edu,jp,hk   
//可以实用下面的方式读取:   
String[] keys1=config.getStringArray("keys");   
List keys2=config.getList("keys");  

首先要把这个文件读到程序中,我们可以用上面的类,所有的读取文件的类都 继承自AbstractConfiguration类,
而这个类实现了Configuration接口,如果我们只有比较简单的需求,那么可以直接向上转型为Configuration类型,如果向上
转型为AbstractConfiguration类,那么可以做一些配置工作。
比如刚刚看到的 keys=cn,com,org,uk,edu,jp,hk这个例子中如果是keys=cn/com/org/uk/edu/jp/hk
那么如果还按照原来的方式读取,读到的将是"cn/com/org/uk/edu/jp/hk"这个字符串,所以要先改变分割符之后在读

AbstractConfiguration.setDefaultListDelimiter('/');   
Configuration config = new PropertiesConfiguration("te/Vasp.properties");   
String[] keys=config.getStringArray("keys");   
List key2=config.getList("keys");  

如果你看它的源码,你会在 AbstractConfiguration这个类中找到:
private static char defaultListDelimiter = ','; 


如果你确定要解析的文件是properties
那么你完全可以使用
PropertiesConfiguration config = new PropertiesConfiguration("tt/t.properties");  

代替
Configuration config = new PropertiesConfiguration("tt/t.properties");

这么写似乎不符合面向接口编程,但是它可以使用PropertiseConfiguration中特殊的方法。
比如,你如果你想修改propertise文件,那么可以这样:
config.setProperty("id", "sss");   
        config.save(); 

当然,你还可以使用isAutoSave这个方法:
config.isAutoSave();   
        config.setProperty("tttt", "sss");  

properties这个类还支持文件的继承,比如在test.properties这个文件中有
include = test1.properties

同时在classpath中又有test1.properties这个文件,那么PropertiesConfiguration类就可以
从test1.properties文件中读取信息。
分享到:
评论

相关推荐

    commons-configuration2-2.1.1-API文档-中文版.zip

    Maven坐标:org.apache.commons:commons-configuration2:2.1.1; 标签:apache、commons、configuration2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...

    commons-configuration2-2.0.jar

    commons-configuration2-2.0.jar Apache commons-configuration 读取配置文件

    commons-configuration2-2.1.1-API文档-中英对照版.zip

    Maven坐标:org.apache.commons:commons-configuration2:2.1.1; 标签:apache、commons、configuration2、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览...

    官方commons-configuration-1.10的jar包

    在给定的"commons-configuration-1.10"版本中,我们可以深入探讨以下几个核心知识点: 1. **配置文件支持**:Commons Configuration 支持多种格式的配置文件,包括XML、INI、Properties和HOCON(Hadoop配置格式)。...

    Apache的Commons-configuration自动加载特性

    Apache Commons Configuration 是一个开源的Java库,用于处理配置文件。这个库提供了一种灵活的方式来管理和访问应用程序的配置参数,无论是从传统的属性文件、XML文件、系统属性还是其他数据源。在"Apache的Commons...

    commons-configuration-1.10.jar

    `commons-configuration-1.10.jar`是Apache Commons Configuration库的一个稳定版本,发布于2013年,它为开发者提供了丰富的API来处理配置文件。此版本包含了对多种配置源的支持,包括传统的Java属性文件、XML文件...

    apache commons jar(commons所有的jar包,从官网下载提供给大家)

    apache-sanselan-incubating-0.97-bin bcel-5.2 commons-beanutils-1.9.2-bin commons-chain-1.2-bin commons-cli-1.3.1-bin commons-codec-1.10-bin commons-collections4-4.0-bin commons-configuration-1.10-bin...

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    Apache Commons 所有包最新版本 含SRC (6/7)

    3.2.1-src.zip commons-configuration-1.5-src.zip commons-configuration-1.5.zip commons-daemon-1.0.1.tar.gz commons-dbcp-1.2.2-src.zip commons-dbcp-1.2.2.zip commons-dbutils-1.1-src....

    commons-configuration

    - `commons-configuration-1.9-bin.zip` 包含了编译后的二进制库,通常包含JAR文件,这些是运行时需要引入的库文件,用于在项目中使用Commons Configuration。 - `commons-configuration-1.9-src.zip` 则包含了...

    commons-configuration代码实例

    Apache Commons Configuration 是一个 Java 库,它为处理各种类型的配置文件和提供了一种灵活的 API。这个库使得在 Java 应用程序中读取、写入和管理配置参数变得非常简单。下面我们将深入探讨 Commons ...

    apache-commons-apis

    httpcomponents-client source ,Document( commons-beanutils commons-io commons-fileupload commons-lang,commons-math,commons-validator,commons-dbutils,commons-dbcp,commons-configuration)

    commons-configuration2-2.1-bin.zip

    Apache Commons Configuration 是一个Java库,专门用于处理各种配置文件和属性。这个库为开发者提供了方便的方式来管理和解析配置数据,无论是简单的键值对格式(如.properties文件)还是更复杂的XML文件。"commons-...

    commons-configuration-1.7

    `commons-configuration-1.7`是该库的一个版本,它包含了源代码,允许开发者深入理解其内部工作原理并进行定制或扩展。 1. **配置资源类型**: - XML配置:Apache Commons Configuration 支持读取和解析XML格式的...

    commons-beanutils.jar commons-collections-3.1.jar commons-pool-1.2.jar

    这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...

    rh-maven33-apache-commons-configuration-1.9-8.13.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    apache-commons-configuration-1.9-8.el7.noarch (1).rpm

    离线安装包,测试可用

    加载配置文件的方式(java[Properties,InputStream]与apache-commons-configuration组件)

    本篇文章将深入探讨两种加载配置文件的方法——使用Java内置的`Properties`类和`InputStream`,以及第三方库Apache Commons Configuration。我们将讨论每种方法的优缺点,并通过实例来演示如何使用它们。 首先,让...

    apache-common最全的jar包

    6. **commons-configuration-1.6.jar**: 提供了灵活的配置管理机制,支持从多种来源(如 XML、属性文件、系统环境变量等)读取配置信息,使得应用的配置更加动态和易于管理。 7. **commons-net-3.0.1.jar**: 包含了...

Global site tag (gtag.js) - Google Analytics