API Properties
не предоставляет никаких методов для добавления / замены / удаления свойства в файле свойств. Модель, поддерживаемая API, заключается в загрузке всех свойств из файла, внесении изменений в объект Properties
в памяти, а затем сохранении всех свойств в файл (тот же или другой).
Но API Properties
не является чем-то необычным в этом отношении. В действительности, обновление текстового файла на месте трудно реализовать без перезаписи всего файла. Эта трудность является прямым следствием того, как файлы / файловые системы реализуются современной операционной системой.
Если вам действительно нужно делать инкрементные обновления, вам нужно использовать какую-то базу данных для хранения свойств, а не файл ".properties".
Другие Ответы предложили следующий подход в различных ипостасях:
- Загрузка свойств из файла в
Properties
объект.
- Обновление
Properties
объект.
- Сохранить
Properties
объект поверх существующего файла.
Это работает для некоторых вариантов использования. Однако загрузка / сохранение может изменить порядок свойств, удалить встроенные комментарии и пробелы. Эти вещи могут имеют значение 1 .
Другой момент заключается в том, что для этого необходимо переписать весь файл свойств, чего ОП явно пытается избежать.
1 - Если API используется по назначению, порядок свойств, встроенные комментарии и т. Д. не будут иметь значения . Но давайте предположим, что ОП делает это по «прагматическим причинам».