我是Java的业余爱好者,所以请原谅我的问题
:-P
我有以下代码旨在计算文件中的行数:

while (scanNumOfLines.hasNextLine())
    {
    NumOfLines ++;
    scanNumOfLines.nextLine();
    }
    System.out.println("NumOfLines = "+NumOfLines);

这样就可以了,但是我想将扫描仪用于其他目的,但是nextLine已移到文件的最后一行,我想将其重置为第一行。

(相反,我不得不将另一台扫描仪用于其他目的,在我看来,这似乎不够优雅。)

我确定必须有一种将计数器重置为零的扫描器方法?

谢谢

CJ

最佳答案

这是不可能的。

之所以不包括它,是因为它支持广泛的输入类型。流就是一个例子。这些在传递结果后不存储结果,因此它们不支持重置。

因此,一种优雅的方法是创建一个新的Scanner。如果您给它提供许多自定义设置,请创建一个工厂方法。

08-04 06:15