无法使用Java中的Scanner比较从txt文件读取的行[重复]

问题描述 投票:0回答:1
我正在尝试编写代码,该代码将从txt文件读取输入,并在到达特定行后停止。

这是我当前的代码:

File data = new File("text.txt"); try { Scanner load = new Scanner(data); while (load.hasNextLine()) { String line = load.nextLine(); if (line == "end") break; System.out.println(line); } load.close(); } catch (FileNotFoundException e) { System.out.println("File not found"); }

这是text.txt中包含的文本:

line1 line2 line3 end line5 line6

我希望它只输出在行end之前的行,但会打印每行。如何解决此问题?
java file java.util.scanner
1个回答
0
投票
用于比较两个字符串,应使用equals代替==运算符。像line.equals("end")

以下代码可以正常工作:

File data = new File("text.txt"); try { Scanner load = new Scanner(data); while (load.hasNextLine()) { String line = load.nextLine(); if (line.equals("end")) break; System.out.println(line); } load.close(); } catch (FileNotFoundException e) { System.out.println("File not found"); }

© www.soinside.com 2019 - 2024. All rights reserved.