Java ResourceBundle 资源绑定详解
Java ResourceBundle 资源绑定详解
ResourceBundle
是 Java 提供的国际化(i18n)资源管理工具,位于 java.util
包。它专门用于加载本地化的 .properties
资源文件,支持多语言切换,是国际化和本地化开发的核心类。
1. 核心特性
(1)基本特点
- 基于
.properties
文件管理键值对 - 支持多语言资源文件(如
messages_en.properties
、messages_zh.properties
) - 自动匹配系统默认语言环境(
Locale
) - 资源文件必须放在 classpath 下
(2)资源文件命名规则
basename_language_country.properties
- 示例:
messages.properties
(默认)messages_en_US.properties
(美式英语)messages_zh_CN.properties
(简体中文)
2. 基本用法
(1)加载资源文件
// 加载默认资源文件(无后缀)不需要后缀,不要写成"messages.properties",不然会造成错误
//ResourceBundle.getBundle("com.javase.messages");可以这样写
//ResourceBundle.getBundle("com/javase/messages");也可以这样写
ResourceBundle bundle = ResourceBundle.getBundle("messages");//要这样写的话,这个文件
//必须得放在类路径当中(放在src的里面)。这个获取的是类的根路径下的messages文件// 加载指定语言的资源文件
ResourceBundle bundleZh = ResourceBundle.getBundle("messages", Locale.CHINA);
(2)读取键值
String welcome = bundle.getString("welcome.message");
System.out.println(welcome); // 输出对应的本地化文本