Ich habe ein Java Properties
Objekt, das ich von einer String
im Speicher zu laden, die zuvor in dem Speicher von der tatsächlichen .properties
Datei wie folgt geladen:Java Properties-Objekt String
this.propertyFilesCache.put(file, FileUtils.fileToString(propFile));
Die util fileToString
tatsächlich lesen im Text aus der Datei und der Rest des Codes speichert es in einem HashMap
namens propertyFilesCache
. Später habe ich die Datei Text aus dem HashMap
als String
lesen und es in ein Objekt neu laden Java Properties
etwa so:
String propFileStr = this.propertyFilesCache.get(fileName);
Properties tempProps = new Properties();
try {
tempProps.load(new ByteArrayInputStream(propFileStr.getBytes()));
} catch (Exception e) {
log.debug(e.getMessage());
}
tempProps.setProperty(prop, propVal);
An diesem Punkt habe ich mein Eigentum in meiner In-Memory-Property-Datei und ich ersetzt Ich möchte den Text vom Objekt Properties
bekommen, als ob ich ein File
Objekt lesen würde, wie ich es oben getan habe. Gibt es eine einfache Möglichkeit, dies zu tun, oder muss ich über die Eigenschaften iterieren und die String
manuell erstellen?
Dieser der Trick, danke! –
Es ist erwähnenswert, dass dies _nicht_ Ihnen eine direkte Darstellung der Eigenschaften zurückgibt, d. H. Sie können diese Zeichenfolge nicht einfach in eine Datei einfügen und sie als Eigenschaftendatei zurückladen. Dies liegt daran, dass die Methode ** Properties.list() ** der Liste einen Header voranstellt: '- Eigenschaften auflisten -' Wahrscheinlicher, dass Sie den ** Properties.store() * verwenden möchten. * Methode beschrieben im Kommentar von @joev Kommentar unten. –