我正在尝试使用控制台命令java program < doc.txt
读取.txt文档中的文本。该程序应查找文件中的单词,并且文件CAN包含空的新行,所以我尝试更改while条件:
while((s = in.nextLine()) != null)
为:
while((s = in.nextLine()) != "-1")
当它找到-1
时已停止(我也尝试使用.equals()
),但它不起作用。当没有更多要检查的文本时,如何告诉我的程序停止搜索单词?否则,当它找到一个空字符串时(单独换行或新行序列),它会一直停止。
我只找到使用BufferedReader
的解决方案,但我不知道如何在控制台命令java program < doc.txt
读取文件的情况下使用它。
如果可能需要,我会在while内发布代码:
while((s = in.nextLine()) != null) {
s = s.toLowerCase();
Scanner line = new Scanner(s);
a = line.next();
if(a.equals("word")) {
k++;
}
}
答案 0 :(得分:3)
确定Scanner
何时用完输入的正确方法是检查hasNextLine()
条件。使用此循环读取包含空行的字符串序列:
Scanner in = new Scanner(System.in);
while(in.hasNextLine()) {
String s = in.nextLine();
System.out.println(s);
}