- 浏览: 239154 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
Wangwei86609:
非常好的规则引擎框架,支持决策树和多线程运行规则https:/ ...
规则引擎 -
xl6861989:
2 楼正确
Maven中<dependencies>节点和<dependencyManagement>节点的区别 -
cuitengfei2006x:
抄别人的有意思吗
hadoop MapReduce join -
rainbow_小春:
写的真心赞,向你学习,学着自己写一些东西
hadoop MapReduce join -
zsx0321:
outputStreamReader 应改为OutputStr ...
从装饰者模式的理解说JAVA的IO包
标签:
name |
可以通过Commons Configuration访问存储于属性文件和XML文档中的配置信息, 依赖的包还有Commons
Language, Commons Collections和Commons Logging.
1. 通过属性文件配置应用程序
属性文件作为配置文件, 读取简单, 但配置内容不灵活.
例如有配置文件config.properties如下:
no=237
names=kiyho,sinkiang
correct=false
可以用以下代码读取:
import org.apache.commons.configuration.Configuration;
import
org.apache.commons.configuration.ConfigurationException;
import
org.apache.commons.configuration.PropertiesConfiguration;
public class PropertiesConfigDemo {
public static void main(String[] args) {
try {
Configuration config = new PropertiesConfiguration(
"config.properties");
System.out.println("score: " + config.getFloat("score"));
System.out.println("names: " + config.getList("names"));
System.out.println("correct: " +
config.getBoolean("correct"));
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
感觉挺不爽, 用个configuration, 还要依赖其他3个commons包.
另外可以通过util包的Properties类实现配置读取, 只是读取到的都是String类型, 需要自己转换.
import java.io.IOException;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) {
try {
Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader()
.getResourceAsStream("config.properties"));
System.out.println("score: " +
properties.getProperty("score"));
System.out.println("names: " +
properties.getProperty("names"));
System.out.println("correct: " +
properties.getProperty("correct"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 通过XML配置应用程序
假设有如下xml配置文件config.xml:
<?xml version="1.0" encoding="utf-8"
?>
<config>
<name>kiyho</name>
<name>sinkiang</name>
<info>
<age>100</age>
</info>
</conifig>
可以用以下代码访问:
import
org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class XmlConfigDemo {
public static void main(String[] args) {
try {
XMLConfiguration config = new XMLConfiguration("config.xml");
System.out.println(config.getList("name"));
System.out.println(config.getInt("info.age"));
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
XML配置文件读取除了用Configuation外, 还可以用JDOM读取:
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class JdomXmlConfigDemo {
public static void main(String[] args) {
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
try {
Document document = new SAXBuilder().build(classLoader
.getResourceAsStream("config.xml"));
List<Element> names =
document.getRootElement().getChildren("name");
String age =
document.getRootElement().getChild("info").getChild(
"age").getTextTrim();
for (Element name : names)
System.out.println("name: " + name.getTextTrim());
System.out.println("age: " + age);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
不依赖任何Commons包, 只要到jdom包, 不过读取到的都是String, 需要自己转换.
3. 复合配置
多个配置文件, 假设有3个配置文件: global.properties, local.properties,
user.properties, 其中user优先于local, local优先于global.
那么用以下这3个配置文件和1个引用配置文件可实现复合配置.
cofigs.xml内容如下:
<?xml version="1.0" encoding="utf-8"
?>
<configuration>
<properties fileName="user.properties"
/>
<properties fileName="local.properties"
/>
<properties fileName="global.properties"
/>
</configuration>
global.properties内容如下:
name=Default User
age=0
speed=10
local.properties内容如下:
name=kiyho
age=20
user.properties内容如下:
age=100
程序读取如下:
import org.apache.commons.configuration.Configuration;
import
org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.ConfigurationFactory;
public class ConfigsDemo {
public static void main(String[] args) {
ConfigurationFactory factory = new ConfigurationFactory();
factory.setConfigurationFileName("configs.xml");
try {
Configuration config = factory.getConfiguration();
System.out.println("name: " + config.getString("name"));
System.out.println("age: " + config.getInt("age"));
System.out.println("speed: " + config.getFloat("speed"));
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
发表评论
-
bash脚本
2012-02-01 15:27 871#!/bin/bash source /etc/profil ... -
sql。导出数据
2011-06-29 16:32 885group by为了统计 LOAD DATA L ... -
java NAN
2011-02-18 16:01 1515今天调试程序时,意外的发现java的浮点数中也有NaN,留 ... -
mysql5 unsigned 相减出现补数 溢出 解决办法
2011-01-11 14:35 18352010-08-17 17:36 在网上查 ... -
HashMap
2010-12-30 21:12 856Iterator<Ent ... -
sed grep
2010-12-30 12:52 902[admin@consign020090 12]$ grep ... -
SQL统计
2010-12-29 14:32 911select cooperate_id,count(*) f ... -
sed grep
2010-12-10 13:16 932tail -fn 1000 20 ... -
JAVA内存模型和多线程
2010-11-29 16:23 1113先了解一下java内存模型 IBM:http://www.i ... -
文件,流
2010-11-11 13:08 903public String getFullFileNa ... -
关于Interger和Long的hashCode
2010-11-03 15:08 2031/** * Returns a hash ... -
1111
2010-10-18 13:30 0http://blog.chinaunix.net/u2/73 ... -
性能研究
2010-10-15 16:40 1010import java.util.Arrays; im ... -
<![CDATA[...]]>的用法 转载
2010-10-08 16:17 1619关于xml中的<![CDATA[...]]>的 ... -
java beanUtils 转载
2010-09-03 17:53 55411. 概述 c ... -
转载:性能调优
2010-07-16 14:46 841性能测试过程中,我 ... -
前端json数据生成
2010-06-08 16:15 1356TB.BBC.MyApplication.in ... -
String内部实现
2010-03-28 01:20 1271import java.applet.Applet; imp ... -
转载 java网络编程 注意点
2010-03-18 15:59 1547一. 网络程序运行过程中的常见异常及处理 ... -
JNI java本地接口
2010-03-01 10:09 975学习了一下JNI,发 ...
相关推荐
JAVA配置文件编写说明文档 JAVA配置文件编写说明文档 JAVA配置文件编写说明文档
将数据库链接和Sql语句全部写在配置文件当中JDBC链接数据库时自动读取,一个通用的数据库持久化类
java读取配置文件 在经常更换的一些东西 就可以用配置文件
ProperityUtils.java配置文件的读写
java配置文件,安装java必须的陪着文档
JAVA配置文件编写说明文档.pdf
java配置文件助手能方便的读写任何格式(ini,txt,properties)的配置文件,并支持自定义标签,语法,是java学习者的理想选择,如需源代码,请联系我,mak0000@msn.com 280759843 whsvc
java配置文件助手(能读写ini,conf,txt,properties等任意格式的配置文件),文件内容支持自定义标签及语法.如需源代码,请联系我:mak0000@msn.com whsvc
java配置文件动态配置excel导出动态数据并发送email 可以动态配置excel名称 列数 列宽 列名 sheet名称 sheet个数
java配置文件修改读取工具类,包括yml和properties类型文件
java配置文件编写说明文档,对于新手很实用,建议下载
JAVA连接字符串到配置文件
linux+apache+tomcat+java配置文件
这是一个对于初学者有很大的作用,详细的介绍了MySQL的驱动加载。
java代码格式配置文件,统一规范进行代码管理,方便阅读。
java读写properties配置文件
配置文件能加强程序的可变更性,该程序包支持XML,ini,txt,properties等配置文件以及自定义格式的配置文件,读写时请注意字符编码,默认gb2312. whsvc