Java ResourceBundle 类



简介

Java ResourceBundle 类包含特定于区域设置的对象。以下是关于 ResourceBundle 的重要要点:

  • 此类允许您编写易于本地化或翻译成不同语言的程序。

  • 此类程序可以轻松地处理多个区域设置,并可以稍后轻松修改以支持更多区域设置。

  • Java 平台提供了 ResourceBundle 的两个子类,ListResourceBundle 和 PropertyResourceBundle。

类声明

以下是 java.util.ResourceBundle 类的声明:

public abstract class ResourceBundle
   extends Object

字段

以下是 java.util.ResourceBundle 类的字段:

protected ResourceBundle parent - 这是此捆绑包的父捆绑包。

类构造函数

序号 构造函数和描述
1

ResourceBundle()

这是唯一的构造函数。

类方法

序号 方法和描述
1 static void clearCache()

此方法从使用调用方类加载器加载的缓存中删除所有资源包。

2 boolean containsKey(String key)

此方法确定此 ResourceBundle 或其父捆绑包中是否包含给定的键。

3 static ResourceBundle getBundle(String baseName)

此方法使用指定的基名称、默认区域设置和调用方类加载器获取资源包。

4 abstract Enumeration<String> getKeys()

此方法返回键的枚举。

5 Locale getLocale()

此方法返回此资源包的区域设置。

6 Object getObject(String key)

此方法从此资源包或其父级之一获取给定键的对象。

7 String getString(String key)

此方法从此资源包或其父级之一获取给定键的字符串。

8 String[] getStringArray(String key)

此方法从此资源包或其父级之一获取给定键的字符串数组。

9 protected abstract Object handleGetObject(String key)

此方法从此资源包获取给定键的对象。

10 protected Set<String> handleKeySet()

此方法查询给定日期在此时区中是否处于夏令时。

11 Set<String> keySet()

此方法返回此 ResourceBundle 及其父捆绑包中包含的所有键的 Set。

12 protected void setParent(ResourceBundle parent)

此方法设置此捆绑包的父捆绑包。

继承的方法

此类继承自以下类的方法:

  • java.util.Object

获取 ResourceBundle 键的示例

以下示例演示了如何使用 Java ResourceBundle getKeys() 方法打印属性文件中存在的键列表。我们为相应的 hello_en_US.properties 文件创建了一个 US Locale 的资源包。然后我们打印分配给键 hello 的文本。然后使用 getKeys() 方法检索键的枚举并打印键。

package com.tutorialspoint;

import java.util.Enumeration;
import java.util.Locale;
import java.util.ResourceBundle;

public class ResourceBundleDemo {
   public static void main(String[] args) {

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.US);

      // print the text assigned to key "hello"
      System.out.println("" + bundle.getString("hello"));

      // get the keys
      Enumeration<String> enumeration = bundle.getKeys();

      // print all the keys
      while (enumeration.hasMoreElements()) {
         System.out.println("" + enumeration.nextElement());
      }
   }
}

输出

假设我们在你的 CLASSPATH 中有一个可用的资源文件 hello_en_US.properties,内容如下。此文件将用作我们示例程序的输入:

hello = Hello World!
bye = Goodbye World!
morning = Good Morning World!
广告