2012-09-08 22 views
1

再次,我正在爲我的項目問一些事情,我覺得自己很像Java中的newb ... 無論如何,我最近被告知ResourceBundle。我真正的問題是,我無法一般理解該類的Oracle文檔,並且發現一些奇怪的編譯時錯誤。
首先我做了三個包mwb extends java.util.ResourceBundle,第二個mwb_el extends mwb和第三個mwb_en extends mwb。我做了一個contents變量類型Object[][]並寫了一個方法getContents()return cotents;!然後我進入每個班級,並更改每行中第二個字段的值(而不是鍵,值)。不,我被困在一個我無法真正理解如何處理獲得價值的點上。 我查了一些教程和例子,但我更加困惑。我需要的是有人向我解釋:資源包 - 任何關心解釋的人?

  1. 如何讓我的MWB對象創建和類初始化得到我想要 它的語言環境。

  2. 我該如何獲得一定的價值。我試過getObject(),getString()甚至是 的getContents(),甚至覆蓋handleGetObject()到 無濟於事。

    在此先感謝! :)

+2

爲什麼要擴展'ResourceBundle'?如果可能的話,告訴我們你在做什麼。另請查看本教程 - http://docs.oracle.com/javase/tutorial/i18n/intro/after.html。 –

+0

那麼我應該如何製作我的資源包?我看到我製作了一個.properties文件。它只是一個帶有這個擴展名的文本文件嗎? –

回答

3

屬性文件應該包含鍵/值對中的消息。

e.g

 
key1=message1 
key2=message2 

如果你有一個名爲 「MessagesBundle_en_US.properties」 的資源文件,你可以如下加載它。

Locale locale = new Locale("en", "US"); 
ResourceBundle messages = ResourceBundle.getBundle("MessagesBundle", locale); 

然後messages.getString("key1")應該返回「message1」。

+0

非常感謝,這幫了我一把! –

+0

不客氣。 –