сохранить состояние, переписав файл свойств - PullRequest
2 голосов
/ 07 февраля 2010

Я использую файл свойств java для хранения некоторой информации о конфигурации, при создании объекта я загружаю эту информацию, затем в определенные моменты времени жизни объектов я хочу перезаписать значения в файле свойств, чтобы в следующий раз объект этот тип создается, он настроен с текущей информацией. метод setProperty, похоже, этого не делает, и когда я использую метод store, он просто добавляет новую (обновленную) копию файла в конец оригинала. Есть идеи?

Спасибо

Ответы [ 2 ]

5 голосов
/ 07 февраля 2010

setProperty определенно не будет делать это автоматически (если вы не используете свой собственный тип, который переопределяет его).

store должно быть в порядке - но я предполагаю, что вы открываете выходной поток (или пишущий) для добавления, а не перезаписи. Вы держите выходной поток открытым все время? Или, возможно, вы используете new FileOutputStream(path, true), который будет добавлять? Не показывая нам никакого кода, трудно понять, что вы делаете неправильно.

Как говорит WizardOfOdds, API предпочтений может быть лучшей идеей.

1 голос
/ 08 февраля 2010

Почему бы вам не попробовать сериализовать ваши объекты и сохранить их, когда вы хотите. Используя Сериализуемые объекты, вы можете просто сохранить состояние объекта в любое время. и в следующий раз, когда вы захотите загрузить его, вы можете прочитать его из файла и инициализировать объект этим значением ... Проверьте этот сайт: http://java.sun.com/j2se/1.4.2/docs/guide/serialization/index.html

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