属性文件操作:Properties和ResourceBundle

属性文件操作:Properties和ResourceBundle

前言

最近在看gitee上的一个java项目的时候,看到了坐着写的一个工具类,有一些疑问,看了网上的资料以后,在这里记录一下.

正文

1. Properties与ResourceBundle

这两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时,操作相对简单.

2. Properies

该类继承Hashtable,将键值对存储在集合中.基于输入流从属性文件中读取键值对,load()方法调用完毕,就与输入流脱离关系,不会自动关闭输入流了,需要我们手动关闭.

    public static void main(String[] args) throws Exception {
        FileInputStream fis = new FileInputStream("e:/ConfigFile/app.properties");
        Properties p = new Properties();
        p.load(fis);
        fis.close();
        System.out.println(p.getProperty("AccessTokenPubKeyPath"));
    }

如此,就可以读出指定目录下的属性文件中的值.

3. ResourceBundl

该类基于类读取属性文件:将属性文件当做类,会在资源文件夹目录下寻找对应的属性文件,也可以将文件放在包中,使用属性文件的全限定类名指代该文件.

    public static void main(String[] args) throws Exception {
        
        ResourceBundle resourceBundle = ResourceBundle.getBundle("app");
        System.out.println(resourceBundle.getString("token"));
    }

以上代码会读取resources目录下的app.properties来获取其中的token属性.

ResourceBundle其他使用

除了读取属性文件,我们还主要用该类来解决国际化和本地化的问题.

具体的使用可以参考:国际化和本地化

总结

这样看来,如果是读取项目路径下的配置文件,使用ResourceBundle是比较方便的,如果是使用外部文件的话,使用Properties来加载更合适一点.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值