Java资源包处理类ResourceBundle某些细节
文件目录:
com.blue.msg.expMessage.properties
com.blue.msg.expMessage_zh_CN.properties
com.blue.msg.expMessage_en_US.properties
代码清单:
1 try {
2 String baseName = "com.blue.msg.expMessage";
3 Locale locale = new Locale("aa","bb");
4 ResourceBundle rb = ResourceBundle.getBundle(baseName, locale);
5 String message = rb.getString("db.notfinddriver.error");
6 System.out.println("|:" + message + "|");
7 } catch (Exception e) {
8 e.printStackTrace();
9 }
2 String baseName = "com.blue.msg.expMessage";
3 Locale locale = new Locale("aa","bb");
4 ResourceBundle rb = ResourceBundle.getBundle(baseName, locale);
5 String message = rb.getString("db.notfinddriver.error");
6 System.out.println("|:" + message + "|");
7 } catch (Exception e) {
8 e.printStackTrace();
9 }
1. Locale对应的语言版本的properties文件如果不存在的话,先根据系统的语言版本来找对应的properties文件,如果找不到则使用默认的properties文件,比如:
系统的语言版本是:中文(中国),那么以上的代码肯定是找不到properties文件的,所以会去找expMessage_zh_CN.properties文件,如果这个文件不存在,才会去找expMessage.properties文件。
2. 如果对应的key无法在资源文件中找到,会抛出java.util.MissingResourceException异常。