类ResourceBundle详解

类 ResourceBundle 的核心作用就是用来加载指定的属性资源文件(.properties 文件),其作用有点类似类 Properties。

  public void test() {
    
    
    Locale locale = new Locale("zh", "CN");
    // 根据指定的语言环境和基名加载资源文件
    // 将指定的资源文件中的数据加载到ResourceBundle对象中,并返回该对象
    ResourceBundle bundle = ResourceBundle.getBundle("message", locale);
    // 从资源文件中获取指定key所对应的值
    // 从对象bundle中获取指定key所对应的值(荐)
    // 到对象bundle中获取指定key所对应的值
    // 去对象bundle中获取指定key所对应的值
    String title = bundle.getString("title");
    System.out.println("将语言环境指定为中文时:"+title);
    // 常量US引用的是一个Locale对象,这个对象代表着美式英文环境
    bundle = ResourceBundle.getBundle("message", Locale.US);
    title = bundle.getString("title");
    System.out.println("将语言环境指定为美式英语时:"+title);
    // 方法getDefault()会获取到一个Locale对象,这个对象代表着系统默认的语言环境
    bundle = ResourceBundle.getBundle("message", Locale.getDefault());
    title = bundle.getString("title");
    System.out.println("根据系统默认的语言环境:"+title);
    // 如果查找不到指定的资源文件,则根据当前系统的语言环境(即默认的Locale)来得到的本地化信息(即国际化资源文件)。
    bundle = ResourceBundle.getBundle("message", Locale.GERMAN);
    title = bundle.getString("title");
    System.out.println("找不到指定的资源文件时:" + title);
    // 如果只传入baseName,那么会根据系统默认的语言环境和指定的baseName去查找资源文件,当找不到时才会
    // 去查找只有baseName的资源文件
    bundle = ResourceBundle.getBundle("message");
    title = bundle.getString("title");
    System.out.println(title);
  }

猜你喜欢

转载自blog.csdn.net/liaowenxiong/article/details/125099255