7.7.5 使用类文件代替资源文件
7.7.5 使用类文件代替资源文件
除使用属性文件作为资源文件外,Java
也允许使用类文件代替资源文件,即将所有的key-value
对存入class
文件,而不是属性文件。
使用类文件来代替资源文件必须满足如下条件。
该类的类名必须是baseName_language_country
,这与属性文件的命名相似。
该类必须继承ListResourceBundle
,并重写getContents()
方法,该方法返回Object
数组,该数组的每一项都是key-value
对.
1 | import java.util.*; |
如果系统同时存在资源文件、类文件,系统将以类文件为主,而不会调用资源文件。对于简体中文的Locale
, ResourceBundle
搜索资源文件的顺序是:
baseName_zh_CN.class
baseName_zh_CN.prroperties
baseName_zh.class
baseName_zh.properties
baseName.class
baseName.properties
系统按上面的顺序搜索资源文件,如果前面的文件不存在,才会使用下一个文件。如果一直找不到对应的文件,系统将抛出异常