Java支持两种方式存放国际化资源,properties文件和类文件。properties文件简单易用,类文件效率高。这里介绍采用类包装国际化资源的方法,而用properties包装的方法有太多的介绍,就不说了吧。
1、首先明确资源类文件放在应用的什么地方。因为是类,所以和其他类没有什么差别,同样可以定义成如com.test.resources.info普通类名,按照要求,需要继承ListResourceBundle类,实例如下:
package com.test.resources
import java.util.ListResourceBundle;
public class info_zh_CN extends ListResourceBundle{
private final Object res[][]={
//这里放置值对
{"key","对应的值"}
};
@Override
protected Object[][] getContents() { return res; }}
2、使用这个资源类
在需要的地方写下列语句就可以了
Locale l = Locale.getDefault();
ResourceBundle bundle = ResourceBundle.getBundle("com.test.resources.info", l); String msg = bundle.getString("key"); //得到值3、占位符输出使用 MessageFormat.format()函数,类似properties的使用。
4、优点:(1)包装在类中,似乎可以不用native2ascii处理;(2)类的访问更加灵活,只需指明包名即可;(3)不需要特殊的配置
一点拙见而已。