Как написать java.util.Properties в XML с отсортированными ключами? - PullRequest
12 голосов
/ 10 сентября 2008

Я хотел бы сохранить файл свойств в формате XML. Есть ли способ сортировки ключей при этом, чтобы сгенерированный файл XML был в алфавитном порядке?

String propFile = "/path/to/file";
Properties props = new Properties();
/*set some properties here*/
try {
    FileOutputStream xmlStream = new FileOutputStream(propFile);
    /*this comes out unsorted*/
    props.storeToXML(xmlStream,"");
} catch (IOException e) {
    e.printStackTrace();
}

Ответы [ 11 ]

0 голосов
/ 10 сентября 2008

Вы можете попробовать это:

Создайте новый класс, который делает то, что делает java.util.XMLUtils, но в методе save измените это:

Set keys = props.keySet();
Iterator i = keys.iterator();

до

Set keys = props.keySet();
List<String> newKeys = new ArrayList<String>();
for(Object key : keys)
{
   newKeys.add(key.toString());
}
Collections.sort(newKeys);
Iterator i = newKeys.iterator();

Расширьте свойства и переопределите метод storeToXML класса Properties, чтобы вызвать метод сохранения вашего нового класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...