java.util.ResourceBundle使用详解

感谢了博客http://lavasoft.blog.51cto.com/62575/184605/ java

1、认识国际化资源文件编程

这个类提供软件国际化的捷径。经过此类,能够使您所编写的程序能够:ide

         轻松地本地化或翻译成不一样的语言spa

         一次处理多个语言环境操作系统

         之后能够轻松地进行修改,支持更多的语言环境翻译

说的简单点,这个类的做用就是读取资源属性文件(properties),而后根据properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也能够程序指定),而后获取相应的properties文件的内容。code

使用这个类,要注意的一点是,这个properties文件的名字是有规范的:通常的命名规范是: 自定义名_语言代码_国别代码.propertiesxml

若是是默认的,直接写为:自定义名.propertiesblog

没有提供语言和地区的资源文件是系统默认的资源文件。资源


好比:定义三个资源文件,放到src的根目录下面(必须这样,或者你放到本身配置的calsspath下面。

myres.properties

aaa=good 
bbb=thanks

myres_en_US.properties

aaa=good 
bbb=thanks


myres_zh_CN.properties

aaa=\u597d 
bbb=\u591a\u8c22

若是你在中文操做系统编程环境下面,若是myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。

2、实例

定义个资源文件,放到src的根目录下面(必须这样,或者你放到本身配置的calsspath下面。

myres_zh_CN.properties

aa=good   
 
bb=thanks

运行实例

package localevidence;
import java.util.Locale;
import java.util.ResourceBundle;
public class TestResourceBundle {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Locale locale1 = new Locale("zh", "CN"); //设置本地环境参数language and country
		// TODO Auto-generated method stub
		System.out.println("地区"+locale1.getCountry());
		System.out.println("地区"+locale1.getLanguage());
		ResourceBundle resource = ResourceBundle.getBundle("myres", locale1);
		System.out.println(resource.getString("onlyfun.caterpillar.welcome")
				+ "!");
		System.out.println(resource.getString("onlyfun.caterpillar.name") + "!");
	}
}

运行结果:

地区CN

地区zh

good    !thanks!

结果没有将good 和thanks转换成中文。

相关文章
相关标签/搜索