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());
}
謝謝Gergely!但這是我曾嘗試過的,我忘了在問題中提到。當我使用Configuration.getKeys()時,在這種情況下我得到一個空的迭代器。現在更新問題。 – jacobcs
這很奇怪。僅僅爲了測試的目的,你是否可以在行尾添加一些「=」符號來看看它是否有用?也許你的無價值的配置條目被視爲malformatted輸入。 –
是的,當我添加「=」符號時,我可以獲取密鑰。看起來像條目被視爲malformatted輸入。任何想法/解決方法,我可以嘗試在代碼級別? – jacobcs