在当前的一个项目中,遇到以下业务需要:
1.开发环境是在myeclipse里运行的时候,启动服务后,有一个加载配置文件属性信息的Global.java。用于得到配置文件里的配置信息;
2.发布系统的时候,需要把系统打成jar执行,这时候之前的加载配置文件的方法就不起作用了得不到配置文件的路径;
3.因在系统刚启动时,需要启动加载一个Listener,在Listener里又加载了一个配置文件。
4.以上加载配置文件,都是只能加载一次配置文件,当配置文件的内容修改后,只能再次重启服务后才能读取到变动的配置内容,系统中有些配置参数是需要时时获取配置文件里的最新参数信息。
如何在以上场景加载配置文件呢,通过来回的找资料、调试,终于搞定。以下是具体代码:
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.可在myeclipse里运行时得到配置文件路径; * 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("user_name").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("user_name").toString().trim();//每次调用这个方法都会从配置文件里取到最新的参数 } }
相关推荐
Eclipse打包成JAR包读取外部JAR包和外部配置文件 Eclipse 打包 jar 外部JAR 外部配置文件
主要介绍了Python实现读取Properties配置文件的方法,结合实例形式分析了Python读取Properties配置文件类的定义与使用相关操作技巧,需要的朋友可以参考下
java如何读取properties配置文件
项目中,经常把一部分功能独立出来,做一个java project,然后打成jar包供其他项目引用...这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采用jar包读取外部配置文件。
读取配置文件所用jar包,本人亲测,可用。 使用PropertiesConfiguration读取配置文件
读取properties文件返回map
读取properties文件路径的两种方式.zip 文档说明+项目示例
使用Java中的Properties类的方法,以及类加载器来读取配置文件中的信息。可以读取.properties文件和.cfg文件。详细代码+注释+测试例子
利用Java的Properties 类读取配置文件信息! 读取Properties文件的例子
ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容
Java读取xls、CSV、xlsx文件所用到的jar包,包括:opencsv-2.3.jar、poi-3.7-20101029.jar、poi-ooxml-3.7-20101029.jar
java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取
java读JAR包里的配置文件、java读JAR包里的配置文件
js读取properties文件,很好用的。js读取properties文件,很好用的。js读取properties文件,很好用的。js读取properties文件,很好用的。
NULL 博文链接:https://konghaibo.iteye.com/blog/430146
c#操作properties,读写配置文件,非常方便,几行代码就搞定
java读取配置文件 在经常更换的一些东西 就可以用配置文件
java中properties文件读取demo
ubuntu系统使用C++编写的读取ini配置文件的功能模块,可以集成到C++项目工程中,欢迎有需要的朋友进行下载
java 读取properties文件代码