资源束包含特定于语言环境的对象。当程序需要一个特定于语言环境的资源时,如 String
,程序可以从适合当前用户语言环境的资源束中装入它。以这种方式,可以写大部分独立于用户语言环境的程序代码,它与大部分资源束中的特定于语言环境的信息相隔离。
它甚至可以搜索到classpath里的jar文件中一些properties文件。
例如在jar文件中的根目录放置一个文件:application.properties,然后只要这个jar文件在classpath里。就可以使用这样的语句来获得一些属性:
ResourceBundle rb = ResourceBundle.getBundle("application");
//or ResourceBundle.getBundle("application" ,locale); to get the specified locale
//"locale " this object will show later.
String s = rb.getString("ADD_TITLE");
System.out.println(s);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
资源束用不同的后缀查找类,根据(1) 期望的语言环境和 (2) 缺省的语言环境(基类), 以下面从更低级别(指定较多的)到父类级别(指定较少的)的顺序来查找:
baseclass + "_" + language1 + "_" + country1 + "_" + variant1
baseclass + "_" + language1 + "_" + country1
baseclass + "_" + language1
baseclass
baseclass + "_" + language2 + "_" + country2 + "_" + variant2
baseclass + "_" + language2 + "_" + country2
baseclass + "_" + language2
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
application.properties 中的文件应严格按照以下定义:
ADD_ALERT=Are/ you/ sure/ you/ want/ to/ Add?
ADD_TITLE=Add
ADMINMODULE_NAME=Admin
ATTACHMENT_CREATEUSER=Create/ User
ATTACHMENT_DESCRIPTION=Description
这样就能取出 ADD_TITLE 相应的字段 Add 了
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
public final class
Locale
extends
Object
implements
Cloneable,
Serializable
一个
Locale
对象描述了一个特定地理的、政治的和文化的语言环境。一个要求
Locale
执行的任务操作是
语言环境敏感的 ,它使用
Locale
来为用户裁剪信息。例如,显示一个数是语言环境敏感的操作--数应根据用户的国家、地区或文化的风俗/传统来格式化。
Locale
类提供了一些便利的常量,可用它们为通常使用的语言环境创建 Locale
对象。例如,下面为美国创建一个 Locale
对象:
Locale.US
一旦已经创建了一个 Locale
,可查询它获得关于它自身的信息。使用 getCountry
来获取 ISO 国家代码和使用 getLanguage
方法来获取 ISO 语言代码。可使用 getDisplayCountry
方法来获取适合对用户显示的国家名字。同样,可使用 getDisplayLanguage
方法来获取适合对用户显示的语言名字。 有趣地是,getDisplayXXX
方法本身是语言环境敏感的,它有两个版本:一个使用缺省的语言环境,另一个使用指定的语言环境作为参数。