Warum getProperty() gibt null zurück?

Habe ich ein Stück code zu der Definition einer Eigenschaft wie diesem:

public static final String DEFINED_KEY = "definedKey";
public static final String DEFINED_PROPERTY = "definedProperty";

//[...]

File f = File.createTempFile("default", ".properties");
PrintWriter pw = new PrintWriter(f);

Properties pp = new Properties();
pp.setProperty(DEFINED_KEY, DEFINED_PROPERTY);
pp.store(pw, "Automatically defined");
pw.close();

Das spart eine properties-Datei OK

#No comments
#Mon Feb 13 17:25:12 CET 2012
definedKey=definedProperty

Wenn ich eine andere Eigenschaft, und führen Sie eine load() auf Sie, er lädt Sie auf OK. get(DEFINED_KEY) gibt den angegebenen Wert für DEFINED_PROPERTY, aber getProperty(DEFINED_KEY) zurück null. Was ist mit dieser?

Dies alles sieht gut aus. Etwas anderes falsch sein muss. Zeigen Sie den code zum laden der properties und die beiden Aufrufe von get/setProperty().
getProperty(key) gibt die super.get(key) Ergebnis, es sei denn, es ist ein nicht-String. Dann versucht es zum abrufen von Daten aus der defaults. Überprüfen Sie, dass get() gibt ein String-Objekt, andernfalls gibt es etwas falsch mit Ihrem input.
Yep, auf den Punkt.
Ein Eigenschaften-wrapper, ich rief Durcheinander, bis 🙁 Dank eine Mühle! Alexanders Antwort ergänzt deins perfekt 🙂

InformationsquelleAutor Laur Ivan | 2012-02-13

Schreibe einen Kommentar