我是Java的业余爱好者,所以请原谅我的问题
:-P
我有以下代码旨在计算文件中的行数:
while (scanNumOfLines.hasNextLine())
{
NumOfLines ++;
scanNumOfLines.nextLine();
}
System.out.println("NumOfLines = "+NumOfLines);
这样就可以了,但是我想将扫描仪用于其他目的,但是nextLine已移到文件的最后一行,我想将其重置为第一行。
(相反,我不得不将另一台扫描仪用于其他目的,在我看来,这似乎不够优雅。)
我确定必须有一种将计数器重置为零的扫描器方法?
谢谢
CJ
最佳答案
这是不可能的。
之所以不包括它,是因为它支持广泛的输入类型。流就是一个例子。这些在传递结果后不存储结果,因此它们不支持重置。
因此,一种优雅的方法是创建一个新的Scanner
。如果您给它提供许多自定义设置,请创建一个工厂方法。