类 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); }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178357.html原文链接:https://javaforall.net
