读取配置文件已经成了Java程序员工作的一项必备技能。
配置文件的优点:
可维护性好
怎么个可维护性好呢?
- 它会让程序中变化的地方很灵活的配置,不需要修改代码。
- Java程序部署到服务器上去之后就变成了class文件,修改困难,通过配置文件我们就可以灵活地改变程序中需要变化的地方。比如说写一个发送邮件的程序,就可以将收件人写在配置文件中,不必每次编译代码。
- 假如过了很久,项目经理觉得有些地方需要改,以发邮件为例,现在需要给大boss也发邮件,而自己手头又没有代码,通过配置文件只需要修改配置文件即可。
废话不多说,直接进入主题,如何通过Java读取配置文件,其实很简单。
配置文件
name=刘德华
pwd=123456
代码如下
package com.myutils.prop;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties;public class PropertiesUtil {private static Properties _prop = new Properties();/*** 读取配置文件* @param fileName*/public static void readProperties(String fileName){try {InputStream in = PropertiesUtil.class.getResourceAsStream("/"+fileName);BufferedReader bf = new BufferedReader(new InputStreamReader(in));_prop.load(bf);}catch (IOException e){e.printStackTrace();}}/*** 根据key读取对应的value* @param key* @return*/public static String getProperty(String key){return _prop.getProperty(key);} }
测试
package com.myutils.prop;import org.junit.Test;/*** Created by GWCheng on 2015/12/29.*/ public class PropertiesUtilTest{@Testpublic void testReadProp() {PropertiesUtil.readProperties("test.properties");System.out.println(PropertiesUtil.getProperty("name"));System.out.println(PropertiesUtil.getProperty("pwd"));} }
为什么没有设置值的方法呢?
因为配置文件一般都是只读的,需要设置的话,已经部署到服务器上去了,停掉服务,然后修改配置文件,就可以了。
读取配置文件的工具类先写到这里。
参考文献
- Java读取properties文件中文乱码问题解决 http://bu-choreography.iteye.com/blog/1136047