java中读取配置文件的信息可以采用properties这个类,但是当遇到国际化问题的时候还是不好解决,因而还是最好使用 ResourceBundle这个类,其实ResourceBundle本质上和Properties一样也是一个映射,都是以键值对的形式保存信息,但 是其显得更加灵活,当调用ResourceBundle res=ResourceBundle.getBundle("area", Locale.CHINA);
String input= res.getString("25");
System.out.println(input);
的时候程序回自动查找类路径下名字为area_zh.properties的文件,进而找出键值为25的内容,该内容以iso8859编码保存,但 是由于指定了ResourceBundle res=ResourceBundle.getBundle("area", Locale.CHINA),因而在我们调用getString方法的时候会得到键值为25对应内容的中文格式
- 在程序中 很多需要很多字符串信息,如果直接写在程序里 ,改变这些字符串时必须重新编译,使用 ResourceBundle可以避免这个问题
- 它读一个.properties的属性文件,这个属性文件可以随时改变
- 例子:
- 1 .messages.properties
- onlyfun.caterpillar.welcome=Hello
- onlyfun.caterpillar.name=World
- 2 .TestResourceBundle .java
- import java.util.ResourceBundle;
- public class TestResourceBundle {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- ResourceBundle resource = ResourceBundle.getBundle("messages" );
- System.out.print(resource.getString("onlyfun.caterpillar.welcome" )
- + "!" );
- System.out
- .println(resource.getString("onlyfun.caterpillar.name" ) + "!" );
- }
- }