java中读取配置文件ResourceBundle和Properties两种方式比较

Posted Practicer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中读取配置文件ResourceBundle和Properties两种方式比较相关的知识,希望对你有一定的参考价值。

  今天在开发的时候,需要把一些信息放到配置文件中,方便后续的修改,注意到用的是ResourceBundle读取配置文件的方式,记得之前也见过使用Properties的方式,就比较好奇这两种方式的区别,网上查了一下和查了一下Java API手册,简单总结记录一下:

  ResourceBundle和Properties的一个主要区别就是ResourceBundle支持语言国际化,当程序需要特定于语言环境的对象时,它使用 getBundle 方法加载 ResourceBundle 类:

    Locale locale = new Locale("zh", "CN");
    String value = ResourceBundle.getBundle("Resources",locale).getString("key");

  使用以上的方式读取k-v的键值对,而Properties继承Hashtable,采用流的方式加载,如下:

Properties Prop = new Properties();
Prop.load(MyClass.class.getClassLoader().getResourceAsStream(
                "Resources.properties"));
String value = (String) Prop.getProperty("key");

正常的需求以上两种方式实现都可以,使用的时候注意catch exception.

 

以上是关于java中读取配置文件ResourceBundle和Properties两种方式比较的主要内容,如果未能解决你的问题,请参考以下文章

ResourceBundle读取properties配置文件

ResourceBundle读取配置文件

Java IO流 之 ResourceBundle 读取国际化资源文件

Java工程中读取配置文件信息

Java工程中读取配置文件信息

java读取 properties配置文件