开始之前,我们先解释一下什么是properties类型的资源文件。
在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似:
#注释语句
some_key=some_value
形式。以#开头的行作为注释行,ResourceBundle类处理时会加以忽略;其余的行可以以 key名=value值 的形式加以记述。
Java的ResourceBundle类可以对这种形式的文件加以处理。
ResourceBundle类的使用方法也非常简单。我们使用一个例子来说明。
我们假设有下面2个properties文件:
#key=value userIdLabel=User Id: userNameLabel=User Name:
#key=value userIdLabel=User Id: userNameLabel=User Name:
#key=value userIdLabel=用户ID: userNameLabel=用户名:
#key=value userIdLabel=用户ID: userNameLabel=用户名:
大家可能注意到TestProperties_zh_CN.properties文件名中有一个_zh_CN名称,该名称其实是用于资源文件的本地化处理。什么是本地化呢?我们简单说明一下:我们在进行系统开发时,很多时候需要为不同地区的用户准备不同的界面,比如,如果一个系统同时面向 英语圈 的用户以及面向中国的用户,我们就必须为系统准备2套界面(包括消息),一套为英语界面,一套为中文界面。当然,除了界面不同之外,系统的处理过程完全一样。当然我们不可能为它们分别开发2套不同的系统,怎么办呢?这就需要用到资源的本地化处理。也就是说,根据用户所处的地区或语言的不同,分别准备不同的资源文件,这样就可以为不同的用户准备不同的界面但使用的却是同一套系统逻辑。
我们上面的2个文件就是2套不同的资源。