Java 本地化 Locale 资源包 PropertyResourceBundle 找不到资源包问题解决

Java进行本地化可以使用属性文件作为本地资源包。对应的类为PropertyResourceBundle 。

PropertyResourceBundle 不需要直接被使用,使用ResourceBundle.getBundle("资源文件名")方法可以直接获得资源包。

如可以使用下面的语句读取资源文件resource.properties中的资源。

 

ResourceBundle bundle=ResourceBundle.getBundle("resource");

 

关键是resource.properties文件所放的位置。位置不对编译会报错类似:

 

Can't find bundle for base name XXX

 

正确的可以被读取到的位置是Eclipse工程中的bin/文件夹下。

 

另外还需要注意,如果资源文件包含中文的话,要保证资源文件的编码是utf-8的。否则属性值不能争取的读取。

 

使用window文本编辑器编辑的文件一般是gbk编码的。java提供了转换工具 native2ascii 可以实现这一转换。

 

也有一款Ecllipse插件可以完成相同的功能。

PropertiesEditor

http://sourceforge.jp/projects/propedit/downloads/40156/jp.gr.java_conf.ussiy.app.propedit_5.3.3.zip/

posted @ 2010-08-11 21:03  OYJJ  阅读(4250)  评论(1编辑  收藏  举报