Class ClosedReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable

    public class ClosedReader
    extends java.io.Reader
    Always returns IOUtils.EOF to all attempts to read something from it.

    Typically uses of this class include testing for corner cases in methods that accept readers and acting as a sentinel value instead of a null reader.

    Since:
    2.7
    • Constructor Summary

      Constructors 
      Constructor Description
      ClosedReader()
      Construct a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      int read​(char[] cbuf, int off, int len)
      A no-op read method that always indicates end-of-stream.
      • Methods inherited from class java.io.Reader

        mark, markSupported, nullReader, read, read, read, ready, reset, skip, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ClosedReader

        public ClosedReader()
        Construct a new instance.
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Reader
        Throws:
        java.io.IOException
      • read

        public int read​(char[] cbuf,
                        int off,
                        int len)
        A no-op read method that always indicates end-of-stream.

        Behavior:

        • If len == 0, returns 0 immediately (no characters are read).
        • Otherwise, always returns -1 to signal that the stream is closed or at end-of-stream.
        Specified by:
        read in class java.io.Reader
        Parameters:
        cbuf - The destination buffer.
        off - The offset at which to start storing characters.
        len - The maximum number of characters to read.
        Returns:
        0 if len == 0; otherwise always -1.
        Throws:
        java.lang.IndexOutOfBoundsException - If off < 0, len < 0, or off + len > cbuf.length.