我有以下代码从文件中读取一行,如果它等于"true"
,则将布尔值设置为true
,如果不是,则将布尔值设置为false
}:
BufferedReader reader = new BufferedReader(new FileReader(optionsFile));
stringFromFile = reader.readLine();
System.out.println("SFX plain text: " + stringFromFile);
if (stringFromFile == "true") {
SFX = true;
}
else {
SFX = false;
}
System.out.println("SFX: " + SFX);
但是,执行时,日志会出现以下内容(我已经排除了软件包名称,因为它上面有个人详细信息):
04-09 23:35:39.980 9686-9686/<PACKAGE NAME> I/System.out: SFX plain text: true
04-09 23:35:39.980 9686-9686/<PACKAGE NAME> I/System.out: SFX: false
显然,if语句错误地评估了字符串,但我尝试了很多东西,而且我一直无法修复它。有谁知道什么是错的,或者如何修复它?任何帮助将不胜感激。
P.S:如果相关,则使用以下代码编写文本文件:
writer = new BufferedWriter(new FileWriter(optionsFile));
if (SFX) {
writer.write("true");
System.out.println("SFX: true");
}
else {
writer.write("false");
System.out.println("SFX: false");
}
writer.newLine();
writer.close();