Class LineIterator

java.lang.Object
it.unimi.dsi.io.LineIterator
All Implemented Interfaces:
ObjectIterator<MutableString>, Iterator<MutableString>

public class LineIterator extends Object implements ObjectIterator<MutableString>
An adapter that exposes a fast buffered reader as an iterator over the returned lines. Since we just actually read a line to know whether hasNext() should return true, the last line read from the underlying fast buffered reader has to be cached. Mixing calls to this adapter and to the underlying fast buffered reader will not usually give the expected results.

Since this class allocates no resource, it is not Closeable and it will not close the underlying FastBufferedReader under any circumstances. If you need resource handling, try FileLinesCollection.

This class reuses the same mutable strings. As a result, the comments for FileLinesCollection apply here. If you want just get all the remaining lines, use allLines().

  • Constructor Details

    • LineIterator

      public LineIterator(FastBufferedReader fastBufferedReader, ProgressLogger pl)
      Creates a new line iterator over a specified fast buffered reader.
      Parameters:
      fastBufferedReader - the underlying buffered reader.
      pl - an optional progress logger, or null.
    • LineIterator

      public LineIterator(FastBufferedReader fastBufferedReader)
      Creates a new line iterator over a specified fast buffered reader.
      Parameters:
      fastBufferedReader - the underlying buffered reader.
  • Method Details