- 浏览: 2286933 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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 823参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5187参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29478参考资料 1 跨网站脚本 ... -
Java之Thread(线程题)
2011-10-31 12:33 1971特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2689参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5934场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1938参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1691参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 164231 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1478运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3247参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9713参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1533参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3476环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1127Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 18020参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2104转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11732参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5817问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11777问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ...
相关推荐
这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...
通过单例模式实例化获取propertyUtil 工具包实例,高效加载配置文件,java语言编写。通过单例模式实例化获取propertyUtil 工具包实例,高效加载配置文件,java语言编写。通过单例模式实例化获取propertyUtil 工具包...
例如,`java.io.FileInputStream`可以用来打开文件,然后`java.util.Properties`类可以加载并解析配置文件。以下是一个简单的示例: ```java Properties props = new Properties(); FileInputStream fis = new ...
在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...
首先,我们来看一下Spring加载配置文件的基本方式。在Spring中,可以通过ApplicationContext接口的实现类,比如ClassPathXmlApplicationContext,来加载位于classpath中的配置文件。例如,创建一个...
本文将深入探讨Java配置加载机制,包括如何将配置文件映射为Java对象以及如何实现多种加载方式,以确保代码的可扩展性和可管理性。 配置加载器(IConfigLoader)是核心接口,它定义了一个加载配置的方法,返回类型...
在这个示例中,我们首先创建一个`Properties`对象,然后通过`getResourceAsStream()`或`FileInputStream`加载配置文件。`getProperty()`方法用于获取配置文件中的特定属性。请注意,`getResourceAsStream()`通常用于...
首先,我们需要加载配置文件,然后获取其中的属性: ```java import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class DBConfig { public static void main...
6. **加载策略**:了解不同框架如何加载配置文件,比如Spring Boot会自动加载`src/main/resources`目录下的配置文件,而其他框架可能需要手动指定。 7. **动态配置**:在某些情况下,如云环境,可能需要支持动态...
1. 加载配置文件:首先,我们需要创建一个`Properties`对象,然后加载配置文件。这可以通过`InputStream`完成,通常是从类路径或者文件系统中获取。 ```java Properties prop = new Properties(); InputStream ...
应用程序在启动的时候,可能会读取应用所需要的配置文件,如果说配置文件的内容不是一成不变的,在需要...假如,这个配置文件是我们的应用完全可控的,我们可以在不重启服务器的情况下,把新的配置文件数据加载起来。
从上方的配置文件我们也能看出所写的注解和方式是完全没有问题的! 查看源码后的具体流程 实际上就是对类上的value后面的属性值进行解析,然后拿到解析的数据和配置文件中的数据进行对比。如果对比成功,那么则通过...
java加载属性配置文件[properties文件]什么是properties文件为什么要使用properties文件使用java加载properties文件的两种方式使用类的加载器获得输入流加载文件getResourceAsStream()介绍使用文件输入流加载文件...
该方法可以获取类加载器中所加载的资源,例如配置文件。在Java类中,我们可以使用该方法来读取配置文件信息。 例如,在给定的代码中,我们可以看到使用`this.getClass().getClassLoader().getResourceAsStream`方法...
properties文件获取工具类:静态加载properties配置文件,有根据key获取值的方法
总之,通过Java的静态代码块和类加载器,我们可以有效地管理和加载资源文件,特别是属性配置文件,确保在程序启动时即完成初始化工作,提升应用性能。这种技术在大型复杂系统中尤其常见,因为它能够保证配置的正确性...
在Java编程中,进程配置文件的重新加载是一个关键操作,特别是在动态环境或持续集成的场景下,我们需要在不重启服务的情况下更新配置并让程序立即生效。`Java进程配置文件Reload`涉及的主要知识点包括: 1. **Java...