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().
Yep, auf den Punkt.
Ein Eigenschaften-wrapper, ich rief Durcheinander, bis 🙁 Dank eine Mühle! Alexanders Antwort ergänzt deins perfekt 🙂
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht sehen, nichts falsch mit Ihrem code... hier ist mein test:-
Generierten Ausgabe:-
Properties
Klasse mit einigen extra-lookups.InformationsquelleAutor limc