扫描仪nextline()仅打印新行
我试图使用扫描仪从文本文件中打印行,但它只打印第一行,然后才打印新行,直到while循环经过文件。
String line;
File input = new File("text.txt");
Scanner scan = new Scanner(input);
while (scan.hasNext()) //also does not work with hasNextLine(), but additional error
{
line = scan.nextLine();
System.out.println(line);
//other code can see what is in the string line, but output from System.out.println(line); is just a new line
}
我如何获得System.out.println()以使用此代码?
这是nextLine()
的Javadoc nextLine()
将此扫描器推进到当前行并返回跳过的输入。 此方法返回当前行的其余部分,排除末尾的任何行分隔符。 该位置设置为下一行的开头。
你想要next()
来代替:
查找并返回此扫描程序中的下一个完整标记。 完整的令牌前后有与分隔符模式匹配的输入。 即使先前调用hasNext()返回true,该方法也可能在等待输入进行扫描时阻塞。
你的代码变成:
while (scan.hasNext())
{
line = scan.next();
System.out.println(line);
}
您可以使用.next()方法:
String line;
File input = new File("text.txt");
Scanner scan = new Scanner(input);
while (scan.hasNext()) //also does not work with hasNextLine(), but additional error
{
line = scan.next();
System.out.println(line);
}
链接地址: http://www.djcxy.com/p/17211.html