Resetting a .nextLine() Scanner

java

Solution

This is impossible to do.

The reason to not include it, is the wide range of input types it supports. One example is streams. These don't store the results after they have been passed on, so they don't support resetting.

So the elegant way is to create a new `Scanner`. If you give it many custom settings, create a factory method.

Problem

I am a rank amateur when it comes to Java, so please pardon my question if it seems dumb :-P I have the following code which is designed to count the number of lines in a file: ``` while (scanNumOfLines.hasNextLine()) { NumOfLines ++; scanNumOfLines.nextLine(); } System.out.println("NumOfLines = "+NumOfLines); ``` So it counts fine, but I want to re-use the scanner for another purpose, but the nextLine has moved to the last line of the file, and I want to reset it back to the first line. (Instead, I had to use another scanner for the other purpose, and to me this seems less elegant than it should be.) I'm sure there must be a scanner method that resets the counter to zero? Thanks CJ

Original source