目录
通过设定Locale可以为特定的国家或地区提供符合当地文化习惯的字体、符号和图标等
一个Locale实例代表一种特定的语言和地区
通过Locale对象输出对应语言和地区的时间、数字等格式
构造方法 | 功能 |
new Locale(String language) | 构造指定语言的Locale对象 |
new Locale(String language,String country) | 构造指定语言、国家的Locale对象 |
|
|
常用方法 | 功能 |
String getCountry() | 返回国家(地区)代码 |
String getDisplayCountry | 返回国家(地区)名称 |
String getLanguage() | 返回语言代码 |
String getDisplayLanguage() | 返回语言名称 |
Static Locale getDefault() | 返回当前系统的Locale对象 |
Static void setDefault(Locale locale) | 重新设置默认的Locale对象 |
- import java.util.Locale;
-
- public class MainClass_Locale_1 {
- public static void main(String[] args){
- Locale locale1 = new Locale("en","US");
- System.out.println("语言编码:"+locale1.getLanguage());
- System.out.println("语言名称:"+locale1.getDisplayLanguage());
- System.out.println("国家编码:"+locale1.getCountry());
- System.out.println("国家名称:"+locale1.getDisplayCountry());
-
- Locale locale2 = Locale.getDefault();
- System.out.println("语言编码:"+locale2.getLanguage());
- System.out.println("语言名称:"+locale2.getDisplayLanguage());
- System.out.println("国家编码:"+locale2.getCountry());
- System.out.println("国家名称:"+locale2.getDisplayCountry());
- }
- }
ResourceBundle类用于加载国家和语言的资源包
资源文件命名方式:
方法 | 功能 |
public static final ResourceBundle getBundle(String baseName) | 使用指定基本名称、默认的语言环境和调用者的类加载器获取资源包 |
public static final ResourceBundle getBundle(String baseName,ResourceBundle.Control control) | 使用指定基本名称、默认的语言环境和指定控件返回一个资源包 |
public abstract Enumeration<String> getKeys() | 返回键的枚举 |
public Locale getLocale() | 返回此资源包的语言环境 |
public final Object getObejct(String key) | 从此资源包或某个父包中获取给定键的对象 |
public final String getString(String key) | 从此资源包或某个父包中获取给定键的字符串 |
public final String[ ] getStringArray(String key) | 从此资源包或某个父包中获取给定键的字符串数组 |
public boolean containsKey(String key) | 判断key是否包含在此ResourceBundble及其父包中 |
public Set<String> keySet() | 返回此ResourceBundle及其父包中包含的所有键的Set |
- import java.util.Locale;
- import java.util.ResourceBundle;
-
- public class TestResourceBundle {
- public static void main(String[] args) {
- // 1.读取默认资源文件,跟Locale默认值有关
- ResourceBundle resourceBundle1 = ResourceBundle.getBundle("myProperties",
- Locale.getDefault());
- System.out.println(resourceBundle1.getBaseBundleName());
- System.out.println(resourceBundle1.getString("name"));
- System.out.println("-------------------------------------");
-
- // 2.英语资源文件
- Locale locale2 = new Locale("en","US");
- ResourceBundle resourceBundle2 = ResourceBundle.getBundle("myProperties_en_US", locale2);
- System.out.println(resourceBundle2.getBaseBundleName());
- System.out.println(resourceBundle2.getString("name"));
- System.out.println("-------------------------------------");
-
- // 3.中文资源文件
- Locale locale3 = new Locale("zh","CN");
- ResourceBundle resourceBundle3 = ResourceBundle.getBundle("myProperties_zh_CN", locale3);
- System.out.println(resourceBundle3.getBaseBundleName());
- System.out.println(resourceBundle3.getString("name"));
- System.out.println("-------------------------------------");
- }
- }