很多大型软件都要实现国际化。所谓国际化是指同一套代码能够根据语言环境在软件界面上显示出不同的语言文字,此外,还应该根据不同的语言环境显示出对各种数据不同的表达风格,例如以当地人习惯的形式书写日期以及货币金额等。使用很多if...else这样的判断语句来确定界面显示哪种语言文字虽然能够实现国际化,但这种做法显然非常的麻烦,并且后期的维护也非常困难。目前最合理的解决方案是把界面上的文字保存在多个资源文件中,然后根据语言环境的不同,找到对应的资源文件,再把资源文件中的文字显示到界面上。这样做的最大好处就是减少了代码量,并且后期维护软件的成本也会降低很多,同时也提高了软件的可扩展性。
在Java语言中,资源文件一般都是后缀为properties的文件。这种资源文件以“键值对”的方式来保存信息,例如:
name=Mike
以上这一行数据就是以键值对的形式表示的,=左边的name称为键,=右边的Mike称为值,键和值共同形成数据的整体,在查找数据时通过指定键来找到对应的值。资源文件通常要与Java类的名称保持相同的命名风格,因此资源文件名称的首字母要大写。此外,资源文件要放到CLASSPATH下才可以被访问到。如果读者不明白什么是CLASSPATH,可以不用太在意这个概念,只要知道把资源文件和Java源文件放在一起就可以了,这样编译器在编译源文件时就会自动把资源文件复制到CLASSPATH下。