【问题标题】:Ignore new lines while reading a file读取文件时忽略新行
【发布时间】:2017-11-19 02:36:21
【问题描述】:

我正在尝试使用控制台命令java program < doc.txt 读取 .txt 文档中的文本。该程序应该在文件中查找单词,并且文件可以包含空的新行,所以我尝试将 while 条件从:

while((s = in.nextLine()) != null)

到:

while((s = in.nextLine()) != "-1")

让它在找到-1 时停止(我也尝试过.equals()),但它不起作用。当没有更多要检查的文本时,如何告诉我的程序停止搜索单词?否则,当它找到一个空字符串(单独换行或换行序列)时,它会一直停止。

我只找到了使用BufferedReader的解决方案,但我不知道如何在控制台命令java program < doc.txt读取文件的这种情况下使用它。

如果有必要,我会在其中发布代码:

while((s = in.nextLine()) != null) {
    s = s.toLowerCase();
    Scanner line = new Scanner(s);
    a = line.next();
    if(a.equals("word")) {
        k++;
    }
}

【问题讨论】:

    标签: java file newline


    【解决方案1】:

    确定Scanner 何时用尽输入的正确方法是检查hasNextLine() 条件。使用此循环读取包含空行的字符串序列:

    Scanner in = new Scanner(System.in);
    while(in.hasNextLine()) {
        String s = in.nextLine();
        System.out.println(s);
    }
    

    Demo.

    【讨论】:

      猜你喜欢
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 2016-04-18
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      相关资源
      最近更新 更多