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 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)` Constructs a new instance with a buffer size of `IOUtils.DEFAULT_BUFFER_SIZE`.
    `CharSequenceInputStream(CharSequence cs, Charset charset, int bufferSize)` Constructs a new instance.
    `CharSequenceInputStream(CharSequence cs, String charset)` Constructs a new instance with a buffer size of `IOUtils.DEFAULT_BUFFER_SIZE`.
    `CharSequenceInputStream(CharSequence cs, String charset, int bufferSize)` Constructs a new instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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[] 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 Detail

    - #### CharSequenceInputStream

          public CharSequenceInputStream(CharSequence cs,
                                         Charset charset)

      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

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

      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

          public CharSequenceInputStream(CharSequence cs,
                                         String charset)

      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

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

      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 Detail

    - #### 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).

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

Copyright © 2002–2023 The Apache Software Foundation. All rights reserved.