java - 在文件中查找带有文本的行
问题描述
我想在 options.bldata 中找出是否编写了 firstLaunch=,为此我编写了以下代码:
File file = new File("options.bldata");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line == "firstLaunch=") {
System.out.println("123");
}
}
当它找到带有 firstLaunch= 的行时,它应该打印 123,但我不知道为什么即使 firstLaunch= 在文件中它也不打印 123。
解决方案
运算符 == 检查两个对象是否指向相同的内存位置,而 .equals() 评估对象中值的比较。
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.equals("firstLaunch=")) {
System.out.println("123");
}
}
这是一篇文章以获取更多信息