Repositions this stream to the position at the time the
mark
method was last called on this input stream.
The reset
method of LineNumberInputStream
resets the line number to be the line number at the time the mark
method was called, and then calls the reset
method of the underlying input stream.
Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parser, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails, which, if it happens within readlimit bytes, allows the outer code to reset the stream and try another parser.