jdk9以上版本书写语言文件.properties
时不需使用native2ascii
转码,只需要在保存时将编码方式保存为UTF-8
编码即可。
代码样例如下:
import java.util.Locale;
import java.util.ResourceBundle;
public class Test {
public static void main(String[] args) {
Locale myLocale = new Locale("zh","CN");
ResourceBundle bundle= ResourceBundle.getBundle("msg",myLocale);
System.out.println(bundle.getString("name"));
}
}
Locale
的第一个变量为语言:zh
中文,en
英文。第二个变量为地区CN
中国,US
美国。
ResourceBundle
则根据相应的Locale加载资源文件。资源文件被放resources
目录下:
准备好语言文件后就可以得到相应环境下的语言了。
ResourceBundle的搜寻方法:
new Locale(“zh”, “CN”)提供本地化信息,上面这行代码,程序会首先在classpath下寻找my_zh_CN.properties文件,若my_zh_CN.properties文件不存在,则取找my_zh.properties,如还是不存在,继续寻找my.properties,若都找不到就抛出异常。