用Java打印文件中的行



我正在制作一个方法,用于打印文件中包含某个单词的行。如果参数是一个空字符串,那么它应该打印整个文件。

我已经开始工作了。"else"语句中的所有内容都非常有效;它扫描每一行并打印参数中包含单词的行。

但是当输入一个空字符串(")作为参数"word"时,我无法让它打印整个文件。我不知道为什么会这样。

public void printLinesWhichContain(String word) {
    while (this.reader.hasNextLine()) {
        String line = this.reader.nextLine();
        if (word.isEmpty()) {
            System.out.println(line);
        } else {
            Scanner lineReader = new Scanner(line);
            while (lineReader.hasNext()) {
                if (lineReader.next().equals(word)) {
                    System.out.println(line);
                }
            }
        }
    }
}

一旦您有了字符串格式的行,您就可以使用indexOf方法来获取单词的索引。

我不会为每一行创建一个扫描仪。

我的意思是,你可能想更改其他部分如下。

int indexOfWord = line.indexOf(word);
            if (indexOfWord >= 0) 
            {
                 System.out.println(line);
            }

相关内容

  • 没有找到相关文章

最新更新