读取properties配置文件的路径的处理方法
来源:互联网 发布:mysql 小计 编辑:程序博客网 时间:2024/05/21 17:04
读取properties配置文件的路径的处理方法
问题提出
最近在做一个项目,遇到以下业务需要:
在使用IDE开发的时候,启动服务后,有一个加载配置文件属性信息的Const.java类。用于得到配置文件里的配置信息;
发布项目的时候,需要把项打成jar包执行,这时候之前的加载配置文件的方法就不起作用了得不到配置文件的路径;
因在项刚启动时,需要启动加载一个Listener,在Listener里又加载了一个配置文件。
以上加载配置文件,都是只能加载一次配置文件,当配置文件的内容修改后,只能再次重启服务后才能读取到变动的配置内容,系统中有些配置参数是需要时时获取配置文件里的最新参数信息。
如何在以上场景加载配置文件呢,通过来回的找资料、调试,终于搞定。以下是具体代码:
package test; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy; public class Test { public static void main(String[] args) throws Exception{ System.out.println(load1());// 通过ClassLoader方式加载配置文件 System.out.println(load2());// 动态加载 } /** * 通过ClassLoader方式加载配置文件 * 这种加载方式: * 1.可在eclipse里运行时得到配置文件路径; * 2.亦可在把项目打成jar包运行时,得到配置文件路径; */ public static String load1()throws Exception{ Properties p = new Properties(); InputStream in = Test.class.getClassLoader().getResourceAsStream("config/config.properties"); p.load(in); return p.getProperty("socket.ip").toString().trim(); } /** * 自动加载配置文件机制,可在修改配置文件后,不用重启服务也能得到配置文件的新内容 */ public static String load2()throws Exception{ String file_name = Test.class.getClassLoader().getResource("config/config.properties").getFile(); Properties p = new Properties(); PropertiesConfiguration propconfig =null;// 创建自动加载的机制 propconfig = new PropertiesConfiguration(); propconfig.setEncoding("UTF-8");// 设置编码 propconfig.setReloadingStrategy(new FileChangedReloadingStrategy());// 设置自动冲加载机制 p.load(new FileInputStream(file_name)); return p.getProperty("socket.ip").toString().trim();// 每次调用这个方法都会从配置文件里取到最新的参数 } }
0 0
- 读取properties配置文件的路径的处理方法
- 读取配置文件properties的方法
- 读取配置文件properties的方法
- 读取***.properties配置文件里数据的方法
- 配置文件读取的一种方法config.properties
- 读取properties配置文件的方法汇总
- 读取.Properties配置文件的一些方法
- 分享】读取properties配置文件的方法汇总
- 一种读取.properties配置文件参数的方法
- JAVA读取properties配置文件的方法
- 【Java】读取properties配置文件的方法
- 配置文件properties的读取
- properties配置文件的读取
- java读取jar包中的资源文件或properties配置文件路径的方法
- java读取jar包中的资源文件或properties配置文件路径的方法
- 读取配置文件properties的问题
- xml、properties配置文件的读取
- 读取Java的配置文件Properties
- 软件工程的七条基本原理
- 简单工厂模式和策略模式的区别
- 【canvas系列】用canvas实现一个colorpicker(类似PS的颜色选择器)
- leetcode_middle_43_435. Non-overlapping Intervals
- Bag of Features (BOF)图像检索算法
- 读取properties配置文件的路径的处理方法
- Python画直方图以及包络线和参考线
- 如何在代码中获取attr属性的值
- iOS中assign、retain、copy、weak、strong的区别以及nonatomic的含义
- java基本类型
- 2. Add Two Numbers
- iOS Runtime 的几篇文章记录
- 报时助手
- 动画