理解ResourceBundle.getBundle("dataSourceFactory")
最近在项目文件中看到这样的代码一下子还看不懂
经过他人指点和自己百度,总算明白大致用处。
- 首先这个方法时java.util的内置方法,主要功能是用于解析properties文件的。
ResourceBundle bundle = ResourceBundle.getBundle("res", new Locale("zh", "CN")); String cancel = bundle.getString("cancelKey"); System.out.println(cancel);
- 看这段代码,就是找到src下的名为res.properties的配置文件,获取并打印cancelKey的值。这里方法中不用写properties文件后缀。
- 另外new Locale("zh","CN")这段代码是什么鬼?
- 这段代码涉及到这个类的真正用途:国际化加载资源包
- zh代表语言(这里是汉语),CN代表地区(这里代表中国地区)
- 美国英语就是en-us
- 首先国际化的properties文件名命名是有规范的要写明语言和地区,我这里写了一些properties文件,用于在不同的语言环境下使用,这段
- new Locale("zh", "CN")代码就是表示要加载res_zh_CN这个资源包,如果不设置的话会根据操作系统的默认地区语言来加载资源,
- 另外要注意的是文件中的汉字默认会转化为编码