读取properties配置文件的几种方法

我们常常需要将一些配置参数放置在XML 配置文件或者 properties 配置文件中,增强程序灵活性。我总结下读取 properties 配置文件的几种方法,供需要时使用。

  • 假设我有一个config.properties文件:(键值对形式),现在需要读取出来
className=demo.Teacher
methodName=teach

方式一:properties类

public class propertiesTest{
public static void main(String[] args){
	//(1)创建集合
	Properties properties = new Properties();
	//通过加载器获取输入流,读取config.properties文件
	InputStream configStream = propertiesTest.class.getResourceAsStream("/config.properties");
	//(2)流中内容载入集合
	properties.load(configStream);
	//获取集合中的键值对,类名
	String classNameValue = properties.getProperty("className");//demo.Teacher
	//获取集合中的键值对,方法名
	String methodNameValue = properties.getProperty("methodName");//teach
	}
}

注:我在网上看到有的博主说这个方法存在局限性,只能读取类路径下的配置文件。这个问题主要原因在于反射的时候,获取路径太死。我在之前的写一篇文章里已经解决了,有兴趣可以去了解一下
详见Class.getResourceAsStream和ClassLoader.getResourceAsStream方法使用的区别及总结
这样就使得properties类读取properties配置文件变得更加灵活了!

方式二:ResourceBundlele类

该方式是java.util包下自带的类,这种方式比使用 Properties 要方便一些,因为他通过静态方法来获取。
需要注意的是:ResourceBundle是一个抽象类,不能new对象
这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可

public class propertiesTest{
public static void main(String[] args){
 //如果是放在src下,直接用config即可;不在src下,那就写清楚路径即可
 ResourceBundle resource = ResourceBundle.getBundle("config")//调用静态方法直接获得键值对中值
 String classNameValue = =resource.getString("className");//demo.Teacher
 String methodNameValue = =resource.getString("methodName");//teach
 }

小结:

这两种方法都是读取properties文件的较好的方法,第一种稍微复杂点,第二种直接调用java写好的类来处理。
我总结下,自己需要的时候可以直接上来拿。也建议大家收藏下,以备不时之需,嘻嘻~

  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值