hi
ich hab folgendes problem:
wenn ich folgenden code ausführe und die datei auch schon mit den config-strings gefüllt ist, dann überspringt er die if-abfrage:
if(args[0].trim() == property)
obwohl ich mir die Variable property und args[0] mal ausgegeben lassen habe und beide variablen identisch waren.
und das verstehe ich einfach nicht. ???:L
wie kann bei dem vergleich zweier identischer variablen false heraus kommen?
das .trim() hab ich dazugetan, weil ja vieleicht noch leerzeichen dabei sind, hat aber nichts gebracht... :noe:
(ich weiß, is nich so gut der code, aber ich hab nur schnell was ausprobieren wollen...)
Mfg aligator
ich hab folgendes problem:
wenn ich folgenden code ausführe und die datei auch schon mit den config-strings gefüllt ist, dann überspringt er die if-abfrage:
if(args[0].trim() == property)
obwohl ich mir die Variable property und args[0] mal ausgegeben lassen habe und beide variablen identisch waren.
und das verstehe ich einfach nicht. ???:L
wie kann bei dem vergleich zweier identischer variablen false heraus kommen?
das .trim() hab ich dazugetan, weil ja vieleicht noch leerzeichen dabei sind, hat aber nichts gebracht... :noe:
(ich weiß, is nich so gut der code, aber ich hab nur schnell was ausprobieren wollen...)
Java:
public static String readConfig(File fileConfig, String property, String defaultVal)
{
if(fileConfig.exists())
{
try {
BufferedReader file = new BufferedReader(new FileReader(fileConfig));
Boolean found = false;
String value = "";
while(file.ready()) {
String[] args = file.readLine().split("=");
if(args[0].trim() == property)
{
if(args[1].trim() != null)
{
found = true;
value = args[1].trim();
}
}
}
file.close();
if(!found || value == "")
{
FileWriter writer = new FileWriter(fileConfig, true);
writer.write(property + "=" + defaultVal);
writer.write(System.getProperty("line.separator"));
writer.flush();
writer.close();
return defaultVal;
}
else
{
System.out.print(" take old ");
return value;
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
else
{
try {
fileConfig.createNewFile();
FileWriter writer = new FileWriter(fileConfig, true);
writer.write(property + "=" + defaultVal);
writer.write(System.getProperty("line.separator"));
writer.flush();
writer.close();
return defaultVal;
} catch (IOException ex) {
ex.printStackTrace();
}
}
return defaultVal;
}
Mfg aligator