- 浏览: 2272190 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
一 使用原生方式读取配置文件
1 文件系统加载
InputStream in = new FileInputStream("config.properties"); Properties p = new Properties(); p.load(in);
2 类加载方式
A 与类同级目录
InputStream in = Main.class.getResourceAsStream("config.properties");
B 在类的下一级目录
InputStream in = Main.class.getResourceAsStream("resource/config.properties");
C 指定加载资源配置文件的classes相对路径
InputStream in = Main.class.getResourceAsStream("/test/resource/config.properties");
注意事项:如上以/开头的是指从根目录开始加载。
D 使用类加载器的方式
InputStream in = Main.class.getClassLoader(). getResourceAsStream("test/resource/config.properties");
E 资源配置文件在classes下
InputStream in = Main.class.getClassLoader().getResourceAsStream("config.properties");
二 使用apache提供的功能组件
参照网上相关资料
1 读取properties文件的方式
示例代码
import java.util.List; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; public class PropertiesConfigurationDemo { public static void main(String[] args) throws ConfigurationException { Configuration config = new PropertiesConfiguration(PropertiesConfigurationDemo.class.getResource("system-config.properties")); String ip = config.getString("ip"); String[] colors = config.getStringArray("colors.pie"); for (int i = 0; i < colors.length; i++) { System.out.println(colors[i]); } List<?> colorList = config.getList("colors.pie"); for (int i = 0; i < colorList.size(); i++) { System.out.println(colorList.get(i)); } } }
配置文件代码:
ip=10.10.1.1
colors.pie = #FF0000, #00FF00, #0000FF
2 读取XML文件的方式
import java.util.List; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; public class XMLConfigurationDemo { public static void main(String[] args) throws ConfigurationException { Configuration config = new XMLConfiguration(XMLConfigurationDemo.class .getResource("system-config.xml")); String ip = config.getString("ip"); String account = config.getString("account"); String password = config.getString("password"); List<?> roles = config.getList("roles.role"); System.out.println("IP: " + ip); System.out.println("Account: " + account); System.out.println("Password: " + password); for (int i = 0; i < roles.size(); i++) { System.out.println("Role: " + roles.get(i)); } } }
Xml文件代码:
<config> <ip>10.10.1.1</ip> <account>jini</account> <password>jakarta99</password> <roles> <role>admin</role> <role>manager</role> <role>user</role> </roles> </config>
示例2
import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; public class XmlConfigurationExample { public static void main(String[] args) throws Exception, ConfigurationException { String resource = "main/global.xml"; Configuration config = new XMLConfiguration(resource); // 只有new一个XMLConfiguration的实例就可以了. List<?> startCriteria = config.getList("start-criteria.criteria"); for (int i = 0; i < startCriteria.size(); i++) { System.out.println("Role: " + startCriteria.get(i)); } int horsepower = config.getInt("horsepower"); System.out.println(horsepower); } }
global.xml文件代码
<?xml version="1.0" encoding="ISO-8859-1" ?> <engine-config> <start-criteria> <criteria> Temperature Above -10 Celsius </criteria> <criteria> Fuel tank is not empty </criteria> </start-criteria> <volume>4 Liters</volume> <horsepower>42</horsepower> </engine-config>
示例3:混合读取二种文件
import java.util.List; import org.apache.commons.configuration.CompositeConfiguration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.XMLConfiguration; public class Test { public static void main(String[] args) throws ConfigurationException { CompositeConfiguration config = new CompositeConfiguration(); config.addConfiguration(new PropertiesConfiguration( "main/global.properties")); config.addConfiguration(new XMLConfiguration("main/global.xml")); List<?> startCriteria = config.getList("start-criteria.criteria"); int horsepower = config.getInt("horsepower"); for (int i = 0; i < startCriteria.size(); i++) { System.out.println("Role: " + startCriteria.get(i)); } System.out.println(horsepower); System.out.println("Speed: " + config.getFloat("speed")); System.out.println("Names: " + config.getString("name")); } }
Xml如上所示,global.properties文件如下:
speed=50
name=Default User
示例4
import java.net.URL; import java.util.List; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationFactory; public class PropertiesXmlConfigurationExample { public static void main(String[] args) throws Exception { ConfigurationFactory factory = new ConfigurationFactory(); URL configURL = PropertiesXmlConfigurationExample.class.getResource("additional-xml-configuration.xml"); factory.setConfigurationURL(configURL); Configuration config = factory.getConfiguration(); List<?> startCriteria = config.getList("start-criteria.criteria"); for (int i = 0; i < startCriteria.size(); i++) { System.out.println("Role: " + startCriteria.get(i)); } int horsepower = config.getInt("horsepower"); System.out.println("Horsepower: " + horsepower); System.out.println("Speed: " + config.getFloat("speed")); System.out.println("Names: " + config.getString("name")); } }
additional-xml-configuration.xml文件内容:
<?xml version="1.0" encoding="ISO-8859-1" ?> <configuration> <properties fileName="global.properties"/> <xml fileName="global.xml"/> </configuration>
相关API说明:
# PropertiesConfiguration 从一个 property 文件中加载配置 .
# XMLConfiguration 从 XML 文件中加载配置信息 .
# XMLPropertyListConfiguration 也可以读取 XML 被 Mac OSX 使用变量 .
# JNDIConfiguration 利用 jndi 树的一个键值,可以返回一个值,这个值来作为配置信息
# BaseConfiguration 访问内存中的一个配置对象 .
# HierarchicalConfiguration 一个在内存中的配置对象,这个对象可以处理复杂的数据结构 .
# SystemConfiguration 一个利用系统属性的配置信息
# ConfigurationConverter 把 java.util.Properties 或者 org.apache.collections.commons.ExtendedProperties 转化为一个 Configuration 对象
参考资料:
common-configuration读取xml,properties文件
http://javamy.iteye.com/blog/252619
使用apache common configuration读取配置文件或修改配置文件
http://www.suneca.com/article.asp?id=9
- 加载配置文件的方式.zip (19.4 KB)
- 下载次数: 40
发表评论
-
java json-lib & jQuery & jsonp
2016-06-30 11:31 778参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5140参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29355参考资料 1 跨网站脚本 ... -
Java之Thread(线程题)
2011-10-31 12:33 1944特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2643参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5893场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1907参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1651参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 163631 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1424运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3201参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9680参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1503参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3415环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1095Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 17949参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2056转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11649参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5767问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11732问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ...
相关推荐
通过单例模式实例化获取propertyUtil 工具包实例,高效加载配置文件,java语言编写。通过单例模式实例化获取propertyUtil 工具包实例,高效加载配置文件,java语言编写。通过单例模式实例化获取propertyUtil 工具包...
NULL 博文链接:https://ljm653467.iteye.com/blog/2163384
java ibaties sqlMap配置文件 java ibaties sqlMap配置文件 java ibaties sqlMap配置文件 java ibaties sqlMap配置文件 java ibaties sqlMap配置文件
Spring动态加载配置文件
应用程序在启动的时候,可能会读取应用所需要的配置文件,如果说配置文件的内容不是一成不变的,在需要...假如,这个配置文件是我们的应用完全可控的,我们可以在不重启服务器的情况下,把新的配置文件数据加载起来。
java加载属性配置文件[properties文件]什么是properties文件为什么要使用properties文件使用java加载properties文件的两种方式使用类的加载器获得输入流加载文件getResourceAsStream()介绍使用文件输入流加载文件...
properties文件获取工具类:静态加载properties配置文件,有根据key获取值的方法
实现了实体类和配置文件的关系映射、自动加载、自动保存,基于ORM、持久化的思想,使用Java的注解、反射、范型等特性实现。 依赖jtk_util_0.1.jar,地址:http://download.csdn.net/detail/u010475284/7221887
SSM框架下的几种加载properties配置文件方式,博客内含介绍https://blog.csdn.net/weixin_42803662
主要介绍了Java加载properties文件实现方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
从上方的配置文件我们也能看出所写的注解和方式是完全没有问题的! 查看源码后的具体流程 实际上就是对类上的value后面的属性值进行解析,然后拿到解析的数据和配置文件中的数据进行对比。如果对比成功,那么则通过...
本案例是一个通过静态代码块获取资源属性文件的代码块,从而来提高应用性能。。
java程序中加载动态链接库文件方法,涉及到C语言实现控制底层硬件的方法
springboot 、java类热加载、jarinjar、动态编译、自动引用依赖
Java开发所需要的配置安装文件,jdk,像eclpse,myeclipse,tomcat的安装 都需要配置环境。
这是一个对于初学者有很大的作用,详细的介绍了MySQL的驱动加载。
处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都... 在了解了Java加载资源文件的机制后,以上这两个问题便迎刃而解了。 对于第一个问题,答案是:请将你的资源文件放在c
主要介绍了java加载属性配置properties文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用反射机制修改加载到内存的Hibernate配置文件,使用该方法可以将数据库的配置信息提取到别的路径下。