org.apache.commons.io.input

## Class CharSequenceInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.apache.commons.io.input.CharSequenceInputStream

All Implemented Interfaces:
  Closeable, AutoCloseable

    public class CharSequenceInputStream
    extends InputStream

`InputStream` implementation that can read from String, StringBuffer, StringBuilder or CharBuffer.

Note: Supports `mark(int)` and `reset()`.

Since:
  2.2

### Constructor Summary

Constructors
Constructor and Description
`CharSequenceInputStream(CharSequence cs, Charset charset)` Constructor, calls `CharSequenceInputStream(CharSequence, Charset, int)` with a buffer size of 2048.
`CharSequenceInputStream(CharSequence cs, Charset charset, int bufferSize)` Constructor.
`CharSequenceInputStream(CharSequence cs, String charset)` Constructor, calls `CharSequenceInputStream(CharSequence, String, int)` with a buffer size of 2048.
`CharSequenceInputStream(CharSequence cs, String charset, int bufferSize)` Constructor, calls `CharSequenceInputStream(CharSequence, Charset, int)`.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `available()` Return an estimate of the number of bytes remaining in the byte stream.
`void` `close()`
`void` `mark(int readlimit)`
`boolean` `markSupported()`
`int` `read()`
`int` `read(byte[] b)`
`int` `read(byte[] b, int off, int len)`
`void` `reset()`
`long` `skip(long n)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CharSequenceInputStream

    public CharSequenceInputStream(CharSequence cs,
                                   Charset charset,
                                   int bufferSize)

Constructor.

Parameters:
  `cs` - the input character sequence
  `charset` - the character set name to use
  `bufferSize` - the buffer size to use.
Throws:
  `IllegalArgumentException` - if the buffer is not large enough to hold a complete character

#### CharSequenceInputStream

    public CharSequenceInputStream(CharSequence cs,
                                   String charset,
                                   int bufferSize)

Constructor, calls `CharSequenceInputStream(CharSequence, Charset, int)`.

Parameters:
  `cs` - the input character sequence
  `charset` - the character set name to use
  `bufferSize` - the buffer size to use.
Throws:
  `IllegalArgumentException` - if the buffer is not large enough to hold a complete character

#### CharSequenceInputStream

    public CharSequenceInputStream(CharSequence cs,
                                   Charset charset)

Constructor, calls `CharSequenceInputStream(CharSequence, Charset, int)` with a buffer size of 2048.

Parameters:
  `cs` - the input character sequence
  `charset` - the character set name to use
Throws:
  `IllegalArgumentException` - if the buffer is not large enough to hold a complete character

#### CharSequenceInputStream

    public CharSequenceInputStream(CharSequence cs,
                                   String charset)

Constructor, calls `CharSequenceInputStream(CharSequence, String, int)` with a buffer size of 2048.

Parameters:
  `cs` - the input character sequence
  `charset` - the character set name to use
Throws:
  `IllegalArgumentException` - if the buffer is not large enough to hold a complete character

### Method Detail

#### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException`

#### read

    public int read()
             throws IOException

Specified by:
  `read` in class `InputStream`
Throws:
  `IOException`

#### read

    public int read(byte[] b)
             throws IOException

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException`

#### skip

    public long skip(long n)
              throws IOException

Overrides:
  `skip` in class `InputStream`
Throws:
  `IOException`

#### available

    public int available()
                  throws IOException

Return an estimate of the number of bytes remaining in the byte stream.

Overrides:
  `available` in class `InputStream`
Returns:
  the count of bytes that can be read without blocking (or returning EOF).
Throws:
  `IOException` - if an error occurs (probably not possible)

#### close

    public void close()
               throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Overrides:
  `close` in class `InputStream`
Throws:
  `IOException`

#### mark

    public void mark(int readlimit)

Overrides:
  `mark` in class `InputStream`
Parameters:
  `readlimit` - max read limit (ignored)

#### reset

    public void reset()
               throws IOException

Overrides:
  `reset` in class `InputStream`
Throws:
  `IOException`

#### markSupported

    public boolean markSupported()

Overrides:
  `markSupported` in class `InputStream`