java - 重置 .nextLine() 扫描仪

标签 java

我是 Java 的业余爱好者,所以请原谅我的问题,如果它看起来很愚蠢 :-P 我有以下代码,旨在计算文件中的行数:

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

所以它算得上很好,但我想将扫描仪重新用于其他目的,但 nextLine 已移至文件的最后一行,我想将其重置回第一行。

(相反,我不得不为其他目的使用另一个扫描仪,对我来说,这似乎没有它应该的那么优雅。)

我确定一定有一个扫描器方法可以将计数器重置为零?

谢谢

CJ

最佳答案

这是不可能的。

不包括它的原因是它支持的输入类型范围很广。一个例子是流。这些在传递后不存储结果,因此它们不支持重置。

所以优雅的方法是创建一个新的Scanner。如果你给它很多自定义设置,创建一个工厂方法。

关于java - 重置 .nextLine() 扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991494/

相关文章:

java - 如何从 Java 8 流中抛出 CHECKED 异常?

java - 每百万次迭代打印一次消息

java - DynamoDB 仅部分更新

java - 使用数组传递参数?

java - 无法构建 Java Netbeans 项目

java - Eclipse 中建议方法的标记

java - 如何设置来自应用程序的每天一次通知

java - 如何将 Parcelable 与 setter 和 getter 一起使用?

java - Opencv HSV颜色范围选取问题

Java 2D - 散点图 - 点不渲染