0
標準的Java包查找了當地將de_CH和名稱 FOO在包條檢查以下資源:我可以擴展Java Bundle查找以返回解散的屬性文件嗎?
class bar.foo_de_CH
file bar/foo_de_CH.properties
class bar.foo_de
file bar/foo_de.properties
class bar.foo
file bar/foo.properties
我可以擴展這一機制在搜索中包括以適當的順序 以下資源:
file bar/foo_de_CH.propertiesx
file bar/foo_de.propertiesx
file bar/foo.propertiesx
並通過解壓縮來加載.propertiesx資源? 我看到有一個類ResourceBundle.Control,因爲 JDK 1.6。但在JDK 1.5之前有沒有辦法?
再見
權,但屬性文件的優雅之處在於它們不會影響類空間。這在新的JVM中並不是什麼問題,因爲我認爲perm空間已經被堆代替了。對?但還有另一個不這樣做的原因,可能是Java類的代碼長度限制。 http://chrononsystems.com/blog/method-size-limit-in-java – 2014-09-29 11:17:22
問題是java 1.5。帶有'protected Object [] [] getContents()'的''''''''ListResourceBundle''可能會動態地從propertiesx中加載數組。重寫PropertyResourceBundle可能是可行的,因爲您可以包裝構造函數的流/讀取器。但是,擴展是錯誤的。注意,也有Properties類,但不幸的是它有不同的用法。 – 2014-09-29 11:54:15
投票,只是因爲它是一個解決方案。但是很好地說「動態加載propertiesx」與「預編譯階段獲取」的步驟不同,對嗎? – 2014-09-29 12:13:43