Package 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
Implements an `InputStream` to read bytes from String, StringBuffer, StringBuilder or CharBuffer, encoded using the specified Charset. The Charset defaults to Charset.defaultCharset().

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

To build an instance, use `CharSequenceInputStream.Builder`.

Since:
  2.2
See Also:
  - `CharSequenceInputStream.Builder`

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `CharSequenceInputStream.Builder`
  Builds a new `CharSequenceInputStream`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CharSequenceInputStream(CharSequence cs, String charset)`
  Deprecated.
  Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
  `CharSequenceInputStream(CharSequence cs, String charset, int bufferSize)`
  Deprecated.
  Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
  `CharSequenceInputStream(CharSequence cs, Charset charset)`
  Deprecated.
  Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
  `CharSequenceInputStream(CharSequence cs, Charset charset, int bufferSize)`
  Deprecated.
  Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `available()`
  Gets a lower bound on the number of bytes remaining in the byte stream.
  `static CharSequenceInputStream.Builder`
  `builder()`
  Constructs a new `CharSequenceInputStream.Builder`.
  `void`
  `close()`
  `void`
  `mark(int readLimit)`
  `boolean`
  `markSupported()`
  `int`
  `read()`
  `int`
  `read(byte[] b)`
  `int`
  `read(byte[] array, 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 Details

  - ### CharSequenceInputStream

    @Deprecated public CharSequenceInputStream(CharSequence cs, Charset charset)
    Deprecated.
    Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
    Constructs a new instance with a buffer size of `IOUtils.DEFAULT_BUFFER_SIZE`.
    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

    @Deprecated public CharSequenceInputStream(CharSequence cs, Charset charset, int bufferSize)
    Deprecated.
    Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
    Constructs a new instance.
    Parameters:
      `cs` - the input character sequence.
      `charset` - the character set name to use, null maps to the default Charset.
      `bufferSize` - the buffer size to use.
    Throws:
      `IllegalArgumentException` - if the buffer is not large enough to hold a complete character.

  - ### CharSequenceInputStream

    @Deprecated public CharSequenceInputStream(CharSequence cs, String charset)
    Deprecated.
    Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
    Constructs a new instance with a buffer size of `IOUtils.DEFAULT_BUFFER_SIZE`.
    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

    @Deprecated public CharSequenceInputStream(CharSequence cs, String charset, int bufferSize)
    Deprecated.
    Use `builder()`, `CharSequenceInputStream.Builder`, and `CharSequenceInputStream.Builder.get()`
    Constructs a new instance.
    Parameters:
      `cs` - the input character sequence.
      `charset` - the character set name to use, null maps to the default Charset.
      `bufferSize` - the buffer size to use.
    Throws:
      `IllegalArgumentException` - if the buffer is not large enough to hold a complete character.

- ## Method Details

  - ### builder

    public static CharSequenceInputStream.Builder builder()
    Constructs a new `CharSequenceInputStream.Builder`.
    Returns:
      a new `CharSequenceInputStream.Builder`.
    Since:
      2.12.0

  - ### available

    public int available() throws IOException
    Gets a lower bound on 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 `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Overrides:
      `close` in class `InputStream`
    Throws:
      `IOException`

  - ### mark

    public void mark(int readLimit)
    Overrides:
      `mark` in class `InputStream`
    Parameters:
      `readLimit` - max read limit (ignored).

  - ### markSupported

    public boolean markSupported()
    Overrides:
      `markSupported` in class `InputStream`

  - ### 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`

  - ### read

    public int read(byte[] array, int off, int len) throws IOException
    Overrides:
      `read` in class `InputStream`
    Throws:
      `IOException`

  - ### reset

    public void reset() throws IOException
    Overrides:
      `reset` in class `InputStream`
    Throws:
      `IOException`

  - ### skip

    public long skip(long n) throws IOException
    Overrides:
      `skip` in class `InputStream`
    Throws:
      `IOException`