正如我的标题所说。我需要在文件中搜索字符串。当它找到时,我需要下一行。 这是一个这样的文件:
您好
世界
当找到“你好”时,需要返回“世界”。
File file = new File("testfile");
Scanner scanner = null;
try {
scanner = new Scanner(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (scanner != null) {
String line;
while (scanner.hasNextLine()) {
line = scanner.nextLine();
if (line == "hello") {
line = scanner.nextLine();
System.out.println(line);
}
}
}
它读取文件,但没有找到“hello”这个词。
答案 0 :(得分:5)
if (line == "hello") {
应该是
if ("hello".equals(line)) {
您必须使用equals()方法来检查两个字符串对象是否相等。对于String(和所有对象),==
运算符仅检查两个引用变量是否引用同一对象。
答案 1 :(得分:1)
if (line == "hello")
应改为
if (line.contains("hello"))
答案 2 :(得分:0)
而不是使用Control.Applicative
运算符来比较两个字符串的使用
==