java 国际化 properties_java Properties 读取文件,国际化
Properties類可以看成一個持久化的Properties文件
Properties文件可以被保存到一個流中或者從流載入
每一個鍵及其對應值在Properties中都必須是String類型.
注意:Properties文件必須在工程項目下面
import java.io.*;import java.util.*;public classPropertiesTest {/***@paramargs*/
public static voidmain(String[] args) {//TODO Auto-generated method stub
Properties pro=newProperties ();try{
pro.load(new FileInputStream("config.txt"));
}catch(Exception e){
e.printStackTrace();
}
Enumeration e=(Enumeration) pro.propertyNames();while(e.hasMoreElements()){
String key=e.nextElement();
System.out.println(key+":"+pro.getProperty(key));
}
}
}
資源文件config.txt內容:
name=jhtchina
Age=35sex=man
實現對配置文件變量的遍歷。國際化問題
import java.util.*;public classhello {private static voidtestResourceBundle(ResourceBundle resource) {//取得所有內容
Enumeration enu =resource.getKeys();while(enu.hasMoreElements()) {
String key=enu.nextElement();
System.out.println(key+ ": " +resource.getString(key));
}
System.out.println();
}/***@paramargs*/
public static voidmain(String[] args) {//TODO Auto-generated method stub
/*ResourceBundle res=ResourceBundle.getBundle("Message");
System.out.println(res.getString("name"));*/Locale myLocale=Locale.getDefault();//Locale.getDefault();//獲得系統默認的國家/語言環境
ResourceBundle bundle = ResourceBundle.getBundle("baseName",myLocale);//System.out.println(bundle.getString("who"));
testResourceBundle(bundle);
}
}
資源文件
baseName_en_US.properties
hello=Hello
baseName_zh_CN.properties
#chinese
#hello=吃飯了嗎?
#who=請問,你是誰?
#native2ascii-encoding UTF-8 resources-filename destination-filename
hello=\u5403\u8FC7\u996D\u4E86\u5417\uFF1F
who=\u8BF7\u95EE\uFF0C\u4F60\u662F\u8C01\uFF1F
注意漢字需要采用native2ascii.exe進行轉換方可。文件名的命名是前綴+后面圖給的標準。資源文件和程序文件在同一個目錄下面。
(1)Locales語言環境
一個Locale對象表示一個特定的地理、政治或文化的地區。
在JDK中預定義的國家對象:
Locale.CANADA
Locale.CANADA_FRENCH
Locale.CHINA
Locale.FRANCE
Locale.GERMANY
Locale.ITALY
Locale.JAPAN
Locale.KOREA
Locale.PRC
Locale.TAIWAN? //but we know TAIWAN is not a country!
Locale.UK
Locale.US
在JDK中預定義的語言對象:
Locale.CHINESE
Locale.ENGLISH
Locale.FRENCH
Locale.GERMAN
Locale.ITALIAN
Locale.JAPANESE
Locale.KOREAN
Locale.SIMPLIFIED_CHINESE
Locale.TRADITIONAL_CHINESE
構造函數:
Locale german = new Locale("de");
Locale germanGermany = new Locale("de", "DE");
Locale germanSwitzerland = new Locale("de", "CH");
Locale norwegianNorwayBokmal = new Locale("no", "NO", "B");
常用的語言和國家代碼,注意資源原件對應的命名規則
(2) 資源包
Java的ResourceBundle類可以解決這種形式的文檔,并且將資源文件的內容解析為鍵-值對形式
以“#”開頭的行作為一個注釋行,ResourceBundle類將忽略該行不給于處理;
資源文件的文件名命名規則:basename_語言代碼_國家代碼.properties
總結
以上是生活随笔為你收集整理的java 国际化 properties_java Properties 读取文件,国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 填权概念是什么意思
- 下一篇: 滴滴海外怎么收费的 扩展海外业务进入墨西