Class ReaderInputStream

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class ReaderInputStream
    extends InputStream
    Adapts a Reader as an InputStream. Adapted from StringInputStream.
    • Constructor Detail

      • ReaderInputStream

        public ReaderInputStream​(Reader reader)
        Construct a ReaderInputStream for the specified Reader.
        Parameters:
        reader - Reader. Must not be null.
      • ReaderInputStream

        public ReaderInputStream​(Reader reader,
                                 String encoding)
        Construct a ReaderInputStream for the specified Reader, with the specified encoding.
        Parameters:
        reader - non-null Reader.
        encoding - non-null String encoding.
    • Method Detail

      • read

        public int read()
                 throws IOException
        Reads from the Reader, returning the same value.
        Specified by:
        read in class InputStream
        Returns:
        the value of the next character in the Reader.
        Throws:
        IOException - if the original Reader fails to be read
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        Reads from the Reader into a byte array
        Overrides:
        read in class InputStream
        Parameters:
        b - the byte array to read into
        off - the offset in the byte array
        len - the length in the byte array to fill
        Returns:
        the actual number read into the byte array, -1 at the end of the stream
        Throws:
        IOException - if an error occurs
      • mark

        public void mark​(int limit)
        Marks the read limit of the StringReader.
        Overrides:
        mark in class InputStream
        Parameters:
        limit - the maximum limit of bytes that can be read before the mark position becomes invalid
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class InputStream
        Returns:
        false - mark is not supported