首页 > 解决方案 > 在文件中查找带有文本的行

问题描述

我想在 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。

标签: java

解决方案


运算符 == 检查两个对象是否指向相同的内存位置,而 .equals() 评估对象中值的比较。

while (scanner.hasNextLine()) { 
        String line = scanner.nextLine();
        if (line.equals("firstLaunch=")) {   
            System.out.println("123");   
        }   
    }

这是一篇文章以获取更多信息


推荐阅读