Eigenschaften.getProperty(key) - Methode gibt null-Wert
Ich bin laden der properties-Datei und rufen Sie den Wert aus der Datei, aber wenn ich mit "Eigenschaften" Klasse und getProperty(key) Methode, es war die Rückkehr null Wert.
code:
public class LoadPropertiesFile {
public static String getProperty (String key, String filePath) {
Properties properties = new Properties();
InputStream inputStream = null;
String value = null;
try {
String appHome = ConfigUtil.getApplicationHome() + filePath;
inputStream = new FileInputStream(appHome);
//load a properties file
properties.load(inputStream);
//get the property value
System.out.println(properties.getProperty("7")); //print **Unlock**
System.err.println(key); //print **7**
System.out.println(value); //print **null**
value = properties.getProperty(key);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
return value;
}
}
Ausgabe:
Unlock
7
null
Property-Datei:
2=Interactive
3=Network
4=Batch
5=Service
7=Unlock
8=Network Cleartext
10=Remote Desktop
11=Logon with cached credentials
call-Methode:
logonType = new LoadPropertiesFile().getProperty("7", "path");
Mir beim Aufruf dieser Methode wird es wieder null Wert. bitte helft mir Jungs.
- Was würden Sie erwarten, dass
int i; System.out.println(i); i = 5;
zu drucken? (Versuchen Sie es nicht; guess) - Ich glaube, Sie wollte sagen *drucken 5, nicht nur zu drucken 😉
- es ist eine Frage. "Was würden Sie erwarten, dass <code> zu machen?"
- Hast du es Bearbeiten? O_o ich schwöre es, es war kein "Was" vor... 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie initalizing Wert mit null.
An und ordnen Sie nach drucken:
Ausgabe:
null
So Wert kann nur null sein, wenn Sie es drucken, wie Sie es nie seinen Wert ändern, bis
System.out.println(value);
.Wechseln Sie einfach diese beiden Aussagen:
Ausgabe:
unlock
Bearbeiten
Eigenschaften.getProperty(key) kann null zurückgeben, auch, aber nur wenn es keinen solchen Schlüssel in der Tabelle, sonst wird es wieder den zugewiesenen Wert, in deinem Beispiel
unlock
.Finden Sie in der API-Dokumentation für weitere details:
http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#getProperty(java.lang.String)
Schalten Sie diese zwei Zeilen, und initialisieren Sie
value
vor drucken:null
?value = properties.getProperty(key);
wird initialisiert, der Wert und der zurückgegebene Wert wird nie null sein. Was OP 's Letzte Zeile sagt:" Wenn ich fordere, dass die Methode den Wert null zurück, nur der Wertvalue
wirdnull
.System.out.println(value);
vorvalue
wird initialisiert, so wird es drucken Sienull
. Es ist, was meine Antwort Staaten, und es ist der Grund, warum die OP immernull
.key="7"
geht. undvalue = properties.getProperty(key);
null
Wert, habe ich Recht?