配置文件读取类:commons-configuration使用
来源:互联网 发布:华美网络飞天侠 编辑:程序博客网 时间:2024/03/29 06:13
原文地址:http://blog.csdn.net/tengdazhang770960436/article/details/18044833
介绍:
Apache Common-Configuration 工具可以从Properties文件,XML文件,JNDI,JDBC数据源,System Properties,Applet parameters,Servlet Parameters等读取相应信息。
使用步骤:
前提,引入commons-configuration-1.6.jar这个JAR包,同时还必须映入commm-logging.jar,common-lang.jar和common-collection.jar
XML 操作例子:
package com.dada.test;import java.util.Arrays;import java.util.List;import org.apache.commons.configuration.XMLConfiguration;public class XMLReadTest {public static void main(String[] args) {testReadXML();}public static void testReadXML() {try{XMLConfiguration config = new XMLConfiguration("config.xml");//对于单独的元素,可以直接通过元素名称获取值String str = config.getString("boy");System.out.println("boy:\t"+str);//对于循环出现的嵌套元素,可以通过父元素.子元素来获取集合值List<String> names = config.getList("student.name");System.out.println("student.name:\t"+Arrays.toString(names.toArray()));//对于单独的元素包含的值有多个的话如:a,b,c,d 可以通过获取集合List<String> titles = config.getList("title");System.out.println("title:\t"+Arrays.toString(titles.toArray()));//对于标签元素的属性,可以通过 标签[@属性名]这样的方式来获取String size = config.getString("ball[@size]");System.out.println("ball[@size]:\t"+size);//对于嵌套标签的话,想获得某一项的话可以通过 标签名(索引名)这样的方式来获取String id = config.getString("student(1)[@id]");System.out.println("student(1)[@id]:\t"+id);//对于标签里面的属性名称可以这么取String go = config.getString("student(0).name[@go]");System.out.println("student(0).name[@go]:\t"+go);//对于标签里面的属性名称还可以这么取go = config.getString("student.name(0)[@go]");System.out.println("student.name(0)[@go]:\t"+go);/** 依次输出结果如下:boy:tomstudent.name:[lily, lucy]title:[abc, cbc, bbc, bbs]ball[@size]:20student(1)[@id]:2student(0).name[@go]:common1student.name(0)[@go]:common1 */} catch (Exception e) {e.printStackTrace();}} }
config.xml 文件:
<?xml version="1.0" encoding="UTF-8"?><Students><boy>tom</boy><student id="1"><name go="common1">lily</name><age>20</age></student><student id="2"><name go="common2">lucy</name><age>30</age></student><title>abc,cbc,bbc,bbs</title><ball size="20">pingpang</ball></Students>
properties 操作列子:
package com.dada.test;import java.util.Arrays;import java.util.List;import org.apache.commons.configuration.AbstractConfiguration;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.PropertiesConfiguration;public class PropertiesReadTest {public static void main(String[] args) {testReadProperties();}public static void testReadProperties(){//注意路径默认指向的是classpath的根目录 Configuration config;try {config = new PropertiesConfiguration("config.properties");//对于一般属性直接获取就行String ip=config.getString("ip"); int port=config.getInt("port"); //这种根据上面属性获取而来的属性也是直接获取String title=config.getString("application.title"); System.out.println(ip+"\n"+port+"\n"+title); //再举个Configuration的比较实用的方法吧,在读取配置文件的时候有可能这个键值对应的值为空,那么在下面这个方法中 //你就可以为它设置默认值。比如下面这个例子就会在config.properties这个文件中找id的值,如果文件中没有配置id,就会给id设置值为123 //这样就保证了java的包装类不会返回空值。虽然功能很简单,但是很方便很实用。 String id=config.getString("id", "defaultid"); System.out.println(id);//如果在properties 文件中有如下属性keys=cn,com,org,uk,edu,jp,hk,这样的类似一个值含有多个元素值 //那么下面两种方法都可以String[] keys1=config.getStringArray("keys"); System.out.println(Arrays.toString(keys1));List keys2=config.getList("keys"); System.out.println(Arrays.toString(keys2.toArray()));//接下来这两步加上的原因是,默认分割符号是逗号,而在配置文件中con的值中含有多个短横线分隔符,所以要重新设置分隔符读出来喽AbstractConfiguration.setDefaultListDelimiter('-');config = new PropertiesConfiguration("config.properties");List cons=config.getList("con"); System.out.println(Arrays.toString(cons.toArray()));/** * * 依次输出结果如下 * 127.0.0.1 * 8080 * Killer App 1.6.2 * defaultid * [cn, com, org, uk, edu, jp, hk] * [cn, com, org, uk, edu, jp, hk] * [cn, com, org, uk, edu, jp, hk] */} catch (ConfigurationException e) {e.printStackTrace();} }}
config.properties 文件:
ip=127.0.0.1
port=8080
sd=111
application.name = Killer App
application.version = 1.6.2
application.title = ${application.name} ${application.version}
keys=cn,com,org,uk,edu,jp,hk
con=cn-com-org-uk-edu-jp-hk
0 0
- 配置文件读取类:commons-configuration使用
- 使用Apache commons-configuration读取配置文件
- 使用commons configuration管理配置文件
- 使用commons的Configuration读取XML
- 使用Apache Commons Configuration读取配置信息
- 使用commons的Configuration读取XML
- 【java】Commons.Configuration读取配置文件(xml/property)
- commons.configuration 读取示例
- 使用apache commons包读取配置文件【转】
- java学习笔记6 - 使用commons configuration管理配置文件
- commons configuration 自动 reload 配置文件
- org.apache.commons.configuration.Configuration 配置文件
- 使用Commons Configuration
- Apache Commons Configuration 使用
- commons-configuration使用
- Commons Configuration使用
- commons-configuration使用介绍
- commons-configuration 使用
- tablayout重写点击事件
- 十大Intellij IDEA快捷键
- mySQL错误: The used table type doesn't support FULLTEXT indexes
- Vue.js v2.1.10 源码探索 v1.0
- [Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.
- 配置文件读取类:commons-configuration使用
- javascript中几种页面跳转方式
- hive 优化
- Java String和Date的转换
- UITableView性能优化,超实用
- gulp代码压缩管理工具
- Solr动态加载分词器的自定义词库扩展词库解决方案
- spring中的定时器用法
- MySQL优化笔记