How to get property list using apache.commons

I need to get a list of properties that are in the .properties file. For example, if you have the following .properties file:

users.admin.keywords = admin users.admin.regexps = test-5,test-7 users.admin.rules = users.admin.keywords,users.admin.regexps users.root.keywords = newKeyWordq users.root.regexps = asdasd,\u0432[\u044By][\u0448s]\u043B\u0438\u0442[\u0435e] users.root.rules = users.root.keywords,users.root.regexps,rules.creditcards users.guest.keywords = guest users.guest.regexps = * users.guest.rules = users.guest.keywords,users.guest.regexps,rules.creditcards rules.cc.creditcards = 1234123412341234,11231123123123123,ca rules.common.regexps = pas rules.common.keywords = asd 

And as a result, I would like to get an ArrayList, which consists of the names of such fields: users.admin.keywords, users.admin.regexps, users.admin.rules , etc. And as you noticed, I need to do this using apache.commons.config

+6
source share
3 answers

You can use as below:

 Configuration configuration = new PropertiesConfiguration(filename); Iterator<String> keys = configuration.getKeys(); List<String> keyList = new ArrayList<String>(); while(keys.hasNext()) { keyList.add(keys.next()); } 
+13
source
 Properties prop = new Properties(); prop.load(new FileInputStream("prop.properties")); Set<Map.Entry<Object, Object>> set = prop.entrySet(); List<Object> list = new ArrayList<>(); for (Map.Entry<Object, Object> entry : prop.entrySet()) { list.add(entry.getKey()); } System.out.println(list); 

Using Apache Commons version <2.1:

 Configuration config = new PropertiesConfiguration("prop.properties"); List<String> list = new ArrayList<>(); Iterator<String> keys = config.getKeys(); while(keys.hasNext()){ String key = (String) keys.next(); list.add(key); } 

Edited for Apache Commons version 2.1:

 List<String> list = new ArrayList<>(); Parameters params = new Parameters(); FileBasedConfigurationBuilder<FileBasedConfiguration> builder = new FileBasedConfigurationBuilder<FileBasedConfiguration> (PropertiesConfiguration.class) .configure(params.properties() .setFileName("prop.properties")); try { Configuration config = builder.getConfiguration(); Iterator<String> keys = config.getKeys(); while(keys.hasNext()){ String key = (String) keys.next(); list.add(key); } } catch(ConfigurationException cex) { // handle exception here } 
+3
source

You can use getKeys () .

It returns an Iterator<String> for all keys in the property file.

+2
source

Source: https://habr.com/ru/post/943435/


All Articles