## org.apache.tools.ant.util
Class ReaderInputStream

    java.lang.Object
      java.io.InputStream
          org.apache.tools.ant.util.ReaderInputStream

All Implemented Interfaces:
  java.io.Closeable

Direct Known Subclasses:
  StringInputStream

    public class ReaderInputStream

extends java.io.InputStream

Adapts a `Reader` as an `InputStream`. Adapted from `StringInputStream`.

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 Reader.
`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 Reader.

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 Reader.

  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 Reader.

  Overrides:
    `reset` in class `java.io.InputStream`
  Throws:
    `java.io.IOException` - if the Reader 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 Reader fails to be closed