Wie kann man mit Properties alle Keys aus der .properties-Datei löschen, die nicht dazugehören sollen (die, die z. B. manuell in die Datei geschrieben wurden)?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Vorweg: Wäre dies denn relevant, ob der Nutzer weitere Daten hineinschreibt oder nicht? Natürlich besteht das Risiko, dass der Nutzer mit Bearbeitungen der Datei das Programm (oder nur einzelne Programmbereiche) unbrauchbar macht, doch würde ich so etwas als Fremdverschulden werten.

Dein Programm sollte sich allerdings nicht an (validen) Schlüsselwertpaaren stören, die vom Nutzer erdacht wurden. Es kennt doch sein eigenes Set und liest auch nur dieses aus?

Um nun aber deine Frage zu beantworten: Lies die Datei einmal komplett aus und lege sie danach neu an. Da du nur die Schlüsselwertpaare liest und schreibst, die du kennst, werden auch nur die in der neuen Datei landen.


verreisterNutzer  01.05.2022, 20:23

Ja, das Programm würde ohne Probleme weiterlaufen und wenn mittendrin oder irgendwann anders ein Key umbenannt wird, wird dieser einfach neu erstellt und der alte ignoriert. Ich wollte es einfach aus Interesse ausprobieren und dem Programm ein etwas besseres Schutzschild verpassen. Einfach nur so :D

0
regex9  01.05.2022, 20:33
@verreisterNutzer

Wenn man sich auf das Data-Hiding-Prinzip beruft, wäre es passender, die Daten erst gar nicht in einem menschenlesbaren Format abzuspeichern. Das Risiko von Manipulation bleibt bestehen, doch es ist ein deutlicheres Zeichen, dass es sich nicht um Daten handelt, die von außen angefasst werden sollen.

1