更新時間:2022-08-09 來源:黑馬程序員 瀏覽量:
在開發一個國際化的Web應用時,通常會存儲許多用于保存各個國家語言的資源文件,這些資源文件都需要使用類加載器來加載,這樣的加載方式比較麻煩,為了方便獲取這些資源文件,JDK提供了一個ResourceBundle類,該類位于java.util包中,用于描述一個資源包,一個資源包用于包含一組與某個本地環境相關的對象,可以從一個資源包中獲取特定的本地環境的對象。對于不同的本地環境,可以有不同的ResourceBundle對象與之關聯。
在設計一個國際化的應用時,應該把程序顯示的文本內容(例如,菜單和按鈕的標題)從源文件中分離出來,放在獨立的資源文件(擴展名為.properties的文件)中,并針對不同的本地環境編寫不同的資源文件,例如,在英語資源文件中寫入“hello”,在中文資源文件中寫入“你好”,這些資源文件共同組成一個資源包。
一個資源包中每個資源文件都必須擁有共同的基名。除了基名,每個資源文件的名稱中還必須有標識其本地信息的附加部分。
例如,一個資源包的基名是myproperties,對應資源文件的名稱如下。
(1)默認資源文件名:myproperites.properties。
(2)對應的中文資源文件名為:myproperites_zh.properties。
(3)對應的英文資源文件名為:myproperites_en.properties。
在上述資源文件中,“zh”和“en”代表本地環境的語言代碼。如果要為使用相同語言的不同國家的資源文件,則還需在語言代碼的后面增加代表國家的代碼,例如,英語(美國)對應的資源文件名稱為“myproperites_en_US.properties”。
一般情況下,每個資源包中都有一個默認的資源文件,以資源包的基名命名,不帶標識本地信息的附加部分,如果應用程序在資源包中找不到某個本地環境匹配的資源文件,就會選擇該資源包中的默認資源文件。