在文件中搜索字符串并返回下一行(在Java中)

时间:2013-02-23 20:00:30

标签: java string file string-comparison

正如我的标题所说。我需要在文件中搜索字符串。当它找到时,我需要下一行。 这是一个这样的文件:

  

您好

     

世界

当找到“你好”时,需要返回“世界”。

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”这个词。

3 个答案:

答案 0 :(得分:5)

if (line == "hello") {

应该是

if ("hello".equals(line)) {

您必须使用equals()方法来检查两个字符串对象是否相等。对于String(和所有对象),==运算符仅检查两个引用变量是否引用同一对象。

答案 1 :(得分:1)

if (line == "hello")

应改为

if (line.contains("hello"))

答案 2 :(得分:0)

而不是使用Control.Applicative运算符来比较两个字符串的使用 ==