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.

 

posted @ 2018-04-28 17:12  practicer-h  阅读(236)  评论(0编辑  收藏  举报