- 浏览: 244720 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 928#!/bin/bash source /etc/profil ... -
sql。导出数据
2011-06-29 16:32 913group by为了统计 LOAD DATA L ... -
java NAN
2011-02-18 16:01 1573今天调试程序时,意外的发现java的浮点数中也有NaN,留 ... -
mysql5 unsigned 相减出现补数 溢出 解决办法
2011-01-11 14:35 18832010-08-17 17:36 在网上查 ... -
HashMap
2010-12-30 21:12 939Iterator<Ent ... -
sed grep
2010-12-30 12:52 949[admin@consign020090 12]$ grep ... -
SQL统计
2010-12-29 14:32 998select cooperate_id,count(*) f ... -
sed grep
2010-12-10 13:16 980tail -fn 1000 20 ... -
JAVA内存模型和多线程
2010-11-29 16:23 1161先了解一下java内存模型 IBM:http://www.i ... -
文件,流
2010-11-11 13:08 987public String getFullFileNa ... -
关于Interger和Long的hashCode
2010-11-03 15:08 2077/** * Returns a hash ... -
1111
2010-10-18 13:30 0http://blog.chinaunix.net/u2/73 ... -
性能研究
2010-10-15 16:40 1054import java.util.Arrays; im ... -
<![CDATA[...]]>的用法 转载
2010-10-08 16:17 1690关于xml中的<![CDATA[...]]>的 ... -
java beanUtils 转载
2010-09-03 17:53 56281. 概述 c ... -
转载:性能调优
2010-07-16 14:46 926性能测试过程中,我 ... -
前端json数据生成
2010-06-08 16:15 1417TB.BBC.MyApplication.in ... -
String内部实现
2010-03-28 01:20 1335import java.applet.Applet; imp ... -
转载 java网络编程 注意点
2010-03-18 15:59 1622一. 网络程序运行过程中的常见异常及处理 ... -
JNI java本地接口
2010-03-01 10:09 1006学习了一下JNI,发 ...
相关推荐
Java配置文件在软件开发中扮演着至关重要的角色,它们提供了灵活的方式来管理应用程序的参数和设置,使得无需重新编译代码就能调整程序的行为。"java配置文件 beta v3.0" 提供了对多种常见格式的支持,包括XML、ini...
Java配置文件在软件开发中扮演着至关重要的角色,它们存储应用程序的设置、环境变量和配置选项,便于管理和调整应用的行为。"Java配置文件 beta v1.0" 是一个专为处理各种格式配置文件的工具,它能够读写ini、conf、...
在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置,如数据库连接信息、服务器端口、第三方服务的API密钥等,这些信息可能需要根据不同的环境或需求...
ProperityUtils.java配置文件的读写
JAVA配置文件编写说明文档
jdk11,java配置文件
java配置文件助手能方便的读写任何格式(ini,txt,properties)的配置文件,并支持自定义标签,语法,是java学习者的理想选择,如需源代码,请联系我,mak0000@msn.com 280759843 whsvc
"详解java配置文件的路径问题" Java 配置文件的路径问题是 Java 开发中一个常见的问题,对于配置文件的路径问题的处理直接影响着程序的可维护性和可移植性。在本文中,我们将详细介绍 Java 配置文件的路径问题,并...
在Java编程中,读取配置文件是常见的任务,它允许我们分离程序的配置信息,如数据库连接字符串、API密钥或其他动态可变的设置,从而提高代码的可维护性和灵活性。这里,我们关注的是如何使用Java来读取配置文件,这...
这是一个对于初学者有很大的作用,详细的介绍了MySQL的驱动加载。
在Java开发中,配置文件是应用中不可或缺的一部分,它们通常包含系统设置、数据库连接信息、应用参数等。本文将深入探讨如何在Java中实现动态修改配置文件,同时解决中文字符编码问题,使得配置文件的读写更加高效和...
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")
自己开发一个工具类,为第三方应用提供调用接口,但是打包后测试过程中,发现了一个问题就是在用@Value获取配置文件内容的时候,无法获取我们的配置信息,也无法加载我们配置的默认值!具体配置如下: @Value("${...
实现了实体类和配置文件的关系映射、自动加载、自动保存,基于ORM、持久化的思想,使用Java的注解、反射、范型等特性实现。 依赖jtk_util_0.1.jar,地址:http://download.csdn.net/detail/u010475284/7221887
一个java端的配置文件
java、svn、mysql、dubbr、venus-common-monitor、venus-restful、公共码、日志、代码规范、命名、配置文件、Code+Review建议、postman等等等等;各类规范文档
vim配置文件 vimrc vim配置文件 vimrc vim配置文件 vimrc
自动构造Java的Bean类,暂时仅支持定义包名、类名、带参构造方法、成员变量及其对应的get和set方法,同eclipse里面该项功能,不过本项目是通过配置文件实现,可以根据自己的需要进行拓展,平时用起来省时省力。
java日志 配置文件 包含配置文件各个参数的定义及参数含义