Java中读取属性文件以及做资源国际化
在src下的文件,沒寫包名
?
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
public class Demo {
?/**
? * ResourceBundle類的主要是讀取屬性文件,讀取屬性文件名稱的時候可以
? * 直接指定屬性文件的名稱(指定名稱是不需要文件的后綴),也可以根據Local
? * 所指定的區域碼來選取指定的資源文件。
? *
? * 國際化實現的支持類
? * 要想實現國際化首先就要認識Local類,因此此類事實現國際化的一個重要類
? * public Locale(String language) 構造? 根據語言代碼構造一個語言環境
? * public Locale(String language,String country) 根據語言和國家構造一個語言環境。
? *
? * 國際化實現的支持類
? * 如果要想實現Java程序的國際化操作必須通過以下的三個類完成:
? * java.util.Local:用于表示一個國家語言類
? * java.util.ResourceBundle:用于訪問資源文件
? * java.text.MessageFormat:格式話資源文件的占位符串
? *
? * 如果屬性文件在包:cn.edu.hactcm.base.下,則要寫成:
? * ResourceBundle zhrb = ResourceBundle.getBundle("cn.edu.hactcm.base.Message", zhLoc);
? */
?public static void main(String[] args) {
??Locale zhLoc = new Locale("zh","CN");? //表示中國地區
??Locale enLoc = new Locale("en","US");? //表示美國地區
??Locale frLoc = new Locale("fr","FR");? //表示法國地區
??//找到中文中的屬性文件
??ResourceBundle zhrb = ResourceBundle.getBundle("Message", zhLoc);
??ResourceBundle enrb = ResourceBundle.getBundle("Message", enLoc);
??ResourceBundle frrb = ResourceBundle.getBundle("Message", frLoc);
??
??//一次讀取各個屬性文件的內容,通過健值讀取,此時的健值名稱為"info"
??System.out.println("中文:" + zhrb.getString("info"));
??System.out.println("英文:" + enrb.getString("info"));
??System.out.println("法文:" + frrb.getString("info"));
??
??System.out.println();
??
??//依次讀取各個屬性文件的內容,通過健值讀取,此時的健值名稱為"info"
??String str1 = zhrb.getString("info");
??String str2 = enrb.getString("info");
??String str3 = frrb.getString("info");
??System.out.println("中文:" + MessageFormat.format(str1, "李興華"));
??System.out.println("英文:" + MessageFormat.format(str2, "lixinghua"));
??System.out.println("法文:" + MessageFormat.format(str3, "LiXingHua"));
?}
}
?
在src下
Message_en_US.properties中的內容
info=Hello!
?
Message_fr_FR.properties中的內容
info=Bonjour!
?
Message_zh_CN.properties中的內容
info=\u4F60\u597D\!
總結
以上是生活随笔為你收集整理的Java中读取属性文件以及做资源国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凉拌豆腐的家常做法?
- 下一篇: 为什么不吃蛋黄 蛋黄的营养价值与食用注意