使用ResourceBundle

2018-10-20 15:11 更新

ResourceBundle(資源包)是一組屬性文件,與不同語言特定后綴具有相同的基本名稱。資源包至少包含兩個具有類似基本名稱的屬性文件,例如 file_en.properties 和 file_de.properties。 

IntelliJ IDEA 能夠識別資源包,并用圖標(biāo) 標(biāo)記它們。

IntelliJ IDEA 支持ResourceBundle資源包的以下功能:

  • 用于創(chuàng)建新資源包的操作。
  • 用于組合和分離屬性文件的操作。
  • 專用ResourceBundle資源包編輯器。
  • 突出顯示缺少的屬性或值時的錯誤。
  • 資源包的重構(gòu)包括重命名、移動、復(fù)制和安全刪除。

創(chuàng)建ResourceBundle資源包

要創(chuàng)建新的資源包,請按照下列步驟操作:

  1. 在“項目”工具窗口中,選擇應(yīng)創(chuàng)建新資源包的目錄。
  2. 執(zhí)行以下操作之一:
    • 按 Alt+Insert。
    • 在選擇的上下文菜單中,選擇:新建| 資源包(New | Resource Bundle)
    • 在主菜單上選擇:文件| 新建| 資源包(File | New | Resource Bundle)
  3. 在打開的對話框中,執(zhí)行以下操作:
    • 指定資源包的基本名稱。
    • 如有必要,請選中“使用基于 XML 的屬性文件”復(fù)選框。
    • 添加所需的區(qū)域設(shè)置。為此,請單擊 并鍵入所需區(qū)域設(shè)置的逗號分隔后綴。
    • 準(zhǔn)備就緒后單擊 "確定"。

新節(jié)點資源包“<base name>”出現(xiàn)在“項目”工具窗口:

IntelliJ IDEA創(chuàng)建ResourceBundle資源包

組合或分離屬性

默認(rèn)情況下,當(dāng)創(chuàng)建新的資源包時,它將顯示已連接。您可以將其分離并只顯示屬性文件。

分離資源包

  1. 右鍵單擊要分離的資源包。
  2. 在上下文菜單上,選擇:分解資源包 <base name>(Dissociate Resource Bundle <base name>)。

將多個屬性文件合并到資源包中

  1. 選擇要組合的屬性文件。
  2. 右鍵單擊所選內(nèi)容。
  3. 在上下文菜單上,選擇"組合到資源包"。
  4. 指定資源束的基本名稱。

編輯資源包

在創(chuàng)建了多個具有相同名稱的 .properties 文件后,區(qū)域設(shè)置后綴的不同,IntelliJ IDEA 會自動識別它們,并將項目視圖中的組分組到資源包中。

編輯IntelliJ IDEA資源包

調(diào)用資源包的屬性編輯器

若要調(diào)用資源包的屬性編輯器,請執(zhí)行下列操作之一:

  • 在項目工具窗口中,右鍵單擊資源包并選擇"跳轉(zhuǎn)到源"。
  • 在"項目" 工具窗口中選擇一個資源包,然后按 F4。
  • 打開以編輯作為包一部分的.properties文件,并在編輯器的下邊緣單擊 資源包選項卡:
    IntelliJ IDEA調(diào)用資源包的屬性編輯器

編輯屬性鍵和值

要編輯屬性鍵,請按照下列常規(guī)步驟操作:

  1. 打開以編輯所需的*.properties文件。
  2. 根據(jù)需要添加、更改或刪除密鑰,更改反映在資源包編輯器中。

要更改值,請使用資源包編輯器,使您能夠一次編輯整組屬性文件。IntelliJ IDEA 負(fù)責(zé)在包的每個文件中創(chuàng)建相應(yīng)的記錄。

編輯屬性值

  1. 在資源包編輯器的左窗格中選擇屬性鍵。
  2. 在目標(biāo)區(qū)域設(shè)置框架中,根據(jù)需要編輯該值。相應(yīng)的.properties文件將相應(yīng)地更改。
    IntelliJ IDEA編輯資源包的屬性值

使用技巧和竅門

  • 屬性缺少值,或其中一個.properties 文件中省略的值被紅色突出顯示。
  • \uXXXX 格式中的 *.properties 文件的所有轉(zhuǎn)義字符都將顯示在資源包編輯器中,作為未轉(zhuǎn)義的 unicode 字符。
    反之亦然,如果在資源包編輯器中輸入了非 ASCII 字符,則它將在基礎(chǔ) *.properties 文件中反映為 \uXXXX 格式的相應(yīng)轉(zhuǎn)義字符。
    例如,如果 *.properties 文件包含屬性值
    Was ich nicht wei\u00df, macht mich nicht hei\u00df 
    那么資源包編輯器將顯示
    Was ich nicht wei?, macht mich nicht hei?
    資源包編輯器本身不執(zhí)行任何轉(zhuǎn)換。要在屬性文件中正確解析轉(zhuǎn)義序列,請在 "設(shè)置/首選項" 對話框的 "文件編碼" 頁中選中 "透明 native-to-ascii 轉(zhuǎn)換" 復(fù)選框。
  • 可以使用大寫和小寫十六進(jìn)制符號(例如 '\u00E3' 與  '\u00e3')來對非 ASCII 碼符號進(jìn)行編碼。默認(rèn)情況下使用大寫字母。要使用小寫,請將bin/idea.properties 文件中的 'idea.native2ascii.lowercase' 屬性設(shè)置為 true。

資源文件

資源文件包括屬性文件、圖像、DTD 和 XML 文件。這些文件位于應(yīng)用程序的 Classpath 下,通常通過以下方法從 Classpath 中加載:

  • ResourceBundle.getBundle() 用于屬性文件和資源包
  • loadResourceAsStream() 用于圖標(biāo)和其他文件

在構(gòu)建應(yīng)用程序時,IntelliJ IDEA 將所有資源復(fù)制到輸出目錄中,相對于源路徑保存資源的目錄結(jié)構(gòu)。默認(rèn)情況下,下列的文件類型被識別為資源文件:

  • .properties
  • .xml
  • .html
  • .dtd
  • .tld
  • .gif
  • .png
  • .jpeg
  • .jpg

可識別的資源文件的模式被表示為正則表達(dá)式并可在編譯器對話框中進(jìn)行配置。

使用資源模式設(shè)置,您可以添加自己的文件擴(kuò)展名,并創(chuàng)建自定義的資源列表。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號