Java 中的 ResourceBundle 类

17 Mar 2025 | 阅读 2 分钟

ResourceBundle 类用于国际化消息。 换句话说,我们可以说它提供了一种将消息全球化的机制。

硬编码的消息在编程方面被认为是不好的,因为它因国家/地区而异。 因此,我们使用 ResourceBundle 类来全球化消息。 ResourceBundle 类从包含消息的属性文件中加载这些信息。

按照惯例,属性文件的名称应为 filename_languagecode_country 代码,例如 MyMessage_en_US.properties


ResourceBundle 类的常用方法

ResourceBundle 类中有很多方法。 让我们看看 ResourceBundle 类的常用方法。

  • public static ResourceBundle getBundle(String basename) 返回默认区域设置的 ResourceBundle 类的实例。
  • public static ResourceBundle getBundle(String basename, Locale locale) 返回指定区域设置的 ResourceBundle 类的实例。
  • public String getString(String key) 从此资源包中返回与相应键的值。

ResourceBundle 类的示例

让我们看一个 ResourceBundle 类的简单示例。 在此示例中,我们创建三个文件

  • MessageBundle_en_US.properties 文件包含美国国家/地区的本地化消息。
  • MessageBundle_in_ID.properties 文件包含 Indonaisa 国家/地区的本地化消息。
  • InternationalizationDemo.java 文件,该文件将这些属性文件加载到一个包中并打印消息。

MessageBundle_en_US.properties

MessageBundle_in_ID.properties

InternationalizationDemo.java

Output:Message in en_US : Hello, how r u?
       Message in in_ID : halo, apa kabar?
下一个主题国际化日期