Package blbutil

Class InputIt

  • All Implemented Interfaces:
    FileIt<java.lang.String>, java.io.Closeable, java.lang.AutoCloseable, java.util.Iterator<java.lang.String>

    public class InputIt
    extends java.lang.Object
    implements FileIt<java.lang.String>

    Class InputIt is a buffered iterator whose next() method returns lines of a text input stream.

    If an IOException is thrown when an InputIt instance reads from the text input stream, the IOException is trapped, an error message is written to standard out, and the Java Virtual Machine is terminated.

    Instances of class InputIt are not thread-safe.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Stops reading data elements and releases any system resources that are held by this object.
      java.io.File file()
      Returns the file from which the data are read, or null if the data are read from standard input or if the data source is unknown.
      static InputIt fromGzipFile​(java.io.File file)
      Constructs and returns an InputIt instance with the default buffer size that iterates through lines of the specified compressed or uncompressed text file.
      static InputIt fromGzipFile​(java.io.File file, int bufferSize)
      Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of the specified compressed or uncompressed text file.
      static InputIt fromStdIn()
      Constructs and returns an InputIt instance with the default buffer size that iterates through lines of text read from standard input.
      static InputIt fromStdIn​(int bufferSize)
      Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of text read from standard input.
      static InputIt fromTextFile​(java.io.File file)
      Constructs and returns an InputIt instance with the default buffer size that iterates through lines of the specified text file.
      static InputIt fromTextFile​(java.io.File file, int bufferSize)
      Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of the specified text file.
      boolean hasNext()
      Returns true if the iteration has more elements.
      java.lang.String next()
      Returns the next element in the iteration.
      void remove()
      The remove method is not supported by this iterator.
      java.lang.String toString()
      Returns a string representation of this iterator.
      • Methods inherited from class java.lang.Object

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

        forEachRemaining
    • Method Detail

      • file

        public java.io.File file()
        Description copied from interface: FileIt
        Returns the file from which the data are read, or null if the data are read from standard input or if the data source is unknown.
        Specified by:
        file in interface FileIt<java.lang.String>
        Returns:
        the file from which the data are read, or null if the data are read from standard input or if the data source is unknown
      • hasNext

        public boolean hasNext()
        Returns true if the iteration has more elements.
        Specified by:
        hasNext in interface java.util.Iterator<java.lang.String>
        Returns:
        true if the iteration has more elements
      • next

        public java.lang.String next()
        Returns the next element in the iteration.
        Specified by:
        next in interface java.util.Iterator<java.lang.String>
        Returns:
        the next element in the iteration
        Throws:
        java.util.NoSuchElementException - if the iteration has no more elements
      • remove

        public void remove()
        The remove method is not supported by this iterator.
        Specified by:
        remove in interface java.util.Iterator<java.lang.String>
        Throws:
        java.lang.UnsupportedOperationException - if this method is invoked
      • close

        public void close()
        Description copied from interface: FileIt
        Stops reading data elements and releases any system resources that are held by this object. Buffered data elements may remain accessible via the hasNext() and next() methods after invoking close(). After invoking close(), further invocations of close() have no effect.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface FileIt<java.lang.String>
      • toString

        public java.lang.String toString()
        Returns a string representation of this iterator. The exact details of the representation are unspecified and subject to change.
        Specified by:
        toString in interface FileIt<java.lang.String>
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this iterator
      • fromStdIn

        public static InputIt fromStdIn()
        Constructs and returns an InputIt instance with the default buffer size that iterates through lines of text read from standard input.
        Returns:
        a new InputIt instance that iterates through lines of text read from standard input
      • fromStdIn

        public static InputIt fromStdIn​(int bufferSize)
        Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of text read from standard input.
        Parameters:
        bufferSize - the buffer size in bytes
        Returns:
        a new InputIt instance that iterates through lines of text read from standard input
        Throws:
        java.lang.IllegalArgumentException - if bufferSize < 0
      • fromGzipFile

        public static InputIt fromGzipFile​(java.io.File file)
        Constructs and returns an InputIt instance with the default buffer size that iterates through lines of the specified compressed or uncompressed text file. If the filename ends in ".gz", the file must be either BGZIP-compressed or GZIP-compressed.
        Parameters:
        file - a compressed or uncompressed text file
        Returns:
        a new InputIt instance that iterates through lines of the specified text file
        Throws:
        java.lang.NullPointerException - if file == null
      • fromGzipFile

        public static InputIt fromGzipFile​(java.io.File file,
                                           int bufferSize)
        Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of the specified compressed or uncompressed text file. If the filename ends in ".gz", the file must be either BGZIP-compressed or GZIP-compressed.
        Parameters:
        file - a compressed or uncompressed text file
        bufferSize - the buffer size in bytes
        Returns:
        a new InputIt instance that iterates through lines of the specified text file
        Throws:
        java.lang.IllegalArgumentException - if bufferSize < 0
        java.lang.NullPointerException - if file == null
      • fromTextFile

        public static InputIt fromTextFile​(java.io.File file)
        Constructs and returns an InputIt instance with the default buffer size that iterates through lines of the specified text file.
        Parameters:
        file - a text file
        Returns:
        a new InputIt instance that iterates through lines of the specified text file
        Throws:
        java.lang.NullPointerException - if filename == null
      • fromTextFile

        public static InputIt fromTextFile​(java.io.File file,
                                           int bufferSize)
        Constructs and returns an InputIt instance with the specified buffer size that iterates through lines of the specified text file.
        Parameters:
        file - a text file
        bufferSize - the buffer size in bytes
        Returns:
        a new InputIt instance that iterates through lines of the specified text file
        Throws:
        java.lang.IllegalArgumentException - if bufferSize < 0
        java.lang.NullPointerException - if filename == null