Class LineIterator

  • All Implemented Interfaces:
    it.unimi.dsi.fastutil.objects.ObjectIterator<MutableString>, java.util.Iterator<MutableString>

    public class LineIterator
    extends java.lang.Object
    implements it.unimi.dsi.fastutil.objects.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().

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<MutableString> allLines()
      Returns all lines remaining in this iterator as a list.
      boolean hasNext()  
      MutableString next()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, remove
      • Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectIterator

        skip
    • Constructor Detail

      • 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 Detail

      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<MutableString>
      • allLines

        public java.util.List<MutableString> allLines()
        Returns all lines remaining in this iterator as a list.
        Returns:
        all lines remaining in this iterator as a list.