java.util.ResourceBundle使用詳解

感謝了博客http://lavasoft.blog.51cto.com/62575/184605/ java

1、認識國際化資源文件編程

這個類提供軟件國際化的捷徑。經過此類,能夠使您所編寫的程序能夠:ide

         輕鬆地本地化或翻譯成不一樣的語言spa

         一次處理多個語言環境操作系統

         之後能夠輕鬆地進行修改,支持更多的語言環境翻譯

說的簡單點,這個類的做用就是讀取資源屬性文件(properties),而後根據properties文件的名稱信息(本地化信息),匹配當前系統的國別語言信息(也能夠程序指定),而後獲取相應的properties文件的內容。code

使用這個類,要注意的一點是,這個properties文件的名字是有規範的:通常的命名規範是: 自定義名_語言代碼_國別代碼.propertiesxml

若是是默認的,直接寫爲:自定義名.propertiesblog

沒有提供語言和地區的資源文件是系統默認的資源文件。資源


好比:定義三個資源文件,放到src的根目錄下面(必須這樣,或者你放到本身配置的calsspath下面。

myres.properties

aaa=good 
bbb=thanks

myres_en_US.properties

aaa=good 
bbb=thanks


myres_zh_CN.properties

aaa=\u597d 
bbb=\u591a\u8c22

若是你在中文操做系統編程環境下面,若是myres_zh_CN.properties、myres.properties兩個文件都存在,則優先會使用myres_zh_CN.properties,當myres_zh_CN.properties不存在時候,會使用默認的myres.properties。

2、實例

定義個資源文件,放到src的根目錄下面(必須這樣,或者你放到本身配置的calsspath下面。

myres_zh_CN.properties

aa=good   
 
bb=thanks

運行實例

package localevidence;
import java.util.Locale;
import java.util.ResourceBundle;
public class TestResourceBundle {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Locale locale1 = new Locale("zh", "CN"); //設置本地環境參數language and country
		// TODO Auto-generated method stub
		System.out.println("地區"+locale1.getCountry());
		System.out.println("地區"+locale1.getLanguage());
		ResourceBundle resource = ResourceBundle.getBundle("myres", locale1);
		System.out.println(resource.getString("onlyfun.caterpillar.welcome")
				+ "!");
		System.out.println(resource.getString("onlyfun.caterpillar.name") + "!");
	}
}

運行結果:

地區CN

地區zh

good    !thanks!

結果沒有將good 和thanks轉換成中文。

相關文章
相關標籤/搜索