How can we write Java properties in a defined order

I’m using java.util.Properties’s store(Writer, String) method to store the properties. In the resulting text file, the properties are stored in a haphazard order.

This is what I’m doing:

Properties properties = createProperties();
properties.store(new FileWriter(file), null);

I wanted to ensure the properties are written out in alphabetical order, or in the order the properties were added.

So this is the sorting logic I had to add :

Properties tmp = new Properties() {
    @Override
    public synchronized Enumeration<Object> keys() {
        return Collections.enumeration(new TreeSet<Object>(super.keySet()));
    }
};
tmp.putAll(properties);
tmp.store(new FileWriter(file), null);

Uday Ogra

Connect with me at http://facebook.com/tendulkarogra and lets have some healthy discussion :)

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *