1

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

你好

世界

当找到“hello”时,需要返回“world”。

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);
    }
  }
}

它通读文件,但没有找到“你好”这个词。

4

3 回答 3

5
if (line == "hello") {

应该

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

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

于 2013-02-23T20:01:20.417 回答
1
if (line == "hello")

应该改为

if (line.contains("hello"))
于 2013-06-28T07:01:44.643 回答
0

而不是使用==运算符来比较两个字符串使用 if(line.compareTo("hello") == 0)

于 2015-06-12T09:02:30.230 回答