com.ibm.commons.util.io
Class ReaderInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by com.ibm.commons.util.io.ReaderInputStream
All Implemented Interfaces:
java.io.Closeable

public class ReaderInputStream
extends java.io.InputStream

InputStream that reads its data from a reader.


Constructor Summary
ReaderInputStream(java.io.Reader reader)
          Construct a ReaderInputStream for the specified Reader.
ReaderInputStream(java.io.Reader reader, java.lang.String encoding)
          Construct a ReaderInputStream for the specified Reader, with the specified encoding.
 
Method Summary
 int available()
           
 void close()
          Closes the reader.
 void mark(int limit)
          Marks the read limit of the StringReader.
 boolean markSupported()
           
 int read()
          Reads from the Reader, returning the same value.
 int read(byte[] b, int off, int len)
          Reads from the Reader into a byte array
 void reset()
          Resets the StringReader.
 
Methods inherited from class java.io.InputStream
read, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReaderInputStream

public ReaderInputStream(java.io.Reader reader)
Construct a ReaderInputStream for the specified Reader.

Parameters:
reader - Reader. Must not be null.

ReaderInputStream

public ReaderInputStream(java.io.Reader reader,
                         java.lang.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 java.io.IOException
Reads from the Reader, returning the same value.

Specified by:
read in class java.io.InputStream
Returns:
the value of the next character in the Reader.
Throws:
java.io.IOException - if the original Reader fails to be read

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
Reads from the Reader into a byte array

Overrides:
read in class java.io.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:
java.io.IOException - if an error occurs

mark

public void mark(int limit)
Marks the read limit of the StringReader.

Overrides:
mark in class java.io.InputStream
Parameters:
limit - the maximum limit of bytes that can be read before the mark position becomes invalid

available

public int available()
              throws java.io.IOException
Overrides:
available in class java.io.InputStream
Returns:
the current number of bytes ready for reading
Throws:
java.io.IOException - if an error occurs

markSupported

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

reset

public void reset()
           throws java.io.IOException
Resets the StringReader.

Overrides:
reset in class java.io.InputStream
Throws:
java.io.IOException - if the StringReader fails to be reset

close

public void close()
           throws java.io.IOException
Closes the reader.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.InputStream
Throws:
java.io.IOException - if the original StringReader fails to be closed