2015-08-19 48 views
2

在我的項目,我們有其中有如下一些條目的屬性文件:如何使用Apache公共配置獲取屬性文件中的條目列表?

#Data key entries 
datakey001 
datakey321 
datakey451 
someotherkey 

其實它不是一個鍵值對,但鍵的列表。使用java.util.Properties我能夠使用Properties.stringPropertyNames()得到這個。

現在我們正在遷移到Apache Commons Configuration,並且我無法在該庫中找到任何功能來獲取所有這些密鑰,因爲我以前使用的是java.util.Properties

有沒有辦法在Apache公用程序的配置中,我可以通過它來獲取所有這些鍵而不必更改屬性文件的結構?

編輯:我試過使用Configuration.getKeys()如下,但輸出是空的。

Configuration propertiesConfig = new PropertiesConfiguration("C:\\proj\\myprops.properties"); 
Iterator<String> it = propertiesConfig.getKeys(); 
while(it.hasNext()) { 
    System.out.println(it.next()); 
} 

回答

1

您可以使用Configuration.getKeys()method

+0

謝謝Gergely!但這是我曾嘗試過的,我忘了在問題中提到。當我使用Configuration.getKeys()時,在這種情況下我得到一個空的迭代器。現在更新問題。 – jacobcs

+1

這很奇怪。僅僅爲了測試的目的,你是否可以在行尾添加一些「=」符號來看看它是否有用?也許你的無價值的配置條目被視爲malformatted輸入。 –

+0

是的,當我添加「=」符號時,我可以獲取密鑰。看起來像條目被視爲malformatted輸入。任何想法/解決方法,我可以嘗試在代碼級別? – jacobcs

相關問題