首页 > 技术文章 > java中ResourceBundle和Locale的简单使用

runnigwolf 2017-07-27 15:22 原文

1、java.util.ResourceBundle

该类用于获取资源文件。其作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序中指定),然后获取相应的properties文件的内容。

ResourceBundle对象的获取可以通过以下几种方法 :

getBundle(String baseName):使用指定的基本名称、默认的语言环境和调用者的类加载器获取资源包。

getBundle(String baseName, Locale locale):使用指定的基本名称、语言环境和调用者的类加载器获取资源包。

getBundle(String baseName, Locale locale, ClassLoader loader):使用指定的基本名称、语言环境和类加载器获取资源包。

getBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control):使用指定基本名称、目标语言环境、类加载器和控件返回资源包。

getBundle(String baseName, Locale targetLoacle, ResourceBundle.Control control):使用指定基本名称、目标语言环境和控件、调用者的类加载器返回一个资源包。

getBundle(String baseName, ResourceBundle.Control control):使用指定基本名称、默认语言环境和指定控件返回一个资源包。

通过ResourceBundle获取资源文件内容的方法:

getObject(String key):从此资源包或它的某个父包中获取给定键的对象。

getString(String key):从此资源包或它的某个父包中获取给定键的字符串。

getStringArrary(String key):从此资源包或它的某个父包中获取给定键的字符串数组。

2、java.util.Locale

Locacle对象表示了特定的地理、政治和文化区域。需要Locale来执行器任务的操作称为语言环境敏感的操作。使用此类中的方法来创建Locale:

Locale(String language):根据语言代码构造一个语言环境。

Locale(String language, String Country):根据语言和国家/地区构造一个语言环境。

Locale(String language, String Country, String variant):根据语言、国家/地区和变量构造一个语言环境。

getDefault():获得此 Java 虚拟机实例的当前默认语言环境值。

3、实例

public static void main(String[] args) {
  //将资源设置为中国
  Locale locale1 = new Locale("zh", "CN");
  ResourceBundle res1 = ResourceBundle.getBundle("res", locale1);//res为工程根目录下的res.properties文件
  System.out.println(res1.getString("test"));
  //将资源设置为默认国别
  ResourceBundle res2 = ResourceBundle.getBundle("res_zh", Locale.getDefault());
  System.out.println(res2.getString("test"));
  //将资源设置为美国
  Locale locale3 = new Locale("en", "US");
  ResourceBundle res3 = ResourceBundle.getBundle("res", locale3);
  System.out.println(res3.getString("test"));
 }

 

推荐阅读