Class CharSequenceReader

java.lang.Object
java.io.Reader
org.apache.commons.io.input.CharSequenceReader
All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, Readable

public class CharSequenceReader extends Reader implements Serializable
Reader implementation that can read from String, StringBuffer, StringBuilder or CharBuffer.

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

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
1.4
See Also:
  • Field Summary

    Fields inherited from class java.io.Reader

    lock
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new instance with the specified character sequence.
    CharSequenceReader(CharSequence charSequence, int start)
    Constructs a new instance with a portion of the specified character sequence.
    CharSequenceReader(CharSequence charSequence, int start, int end)
    Constructs a new instance with a portion of the specified character sequence.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close resets the file back to the start and removes any marked position.
    void
    mark(int readAheadLimit)
    Mark the current position.
    boolean
    Mark is supported (returns true).
    int
    Read a single character.
    int
    read(char[] array, int offset, int length)
    Read the specified number of characters into the array.
    boolean
    Tells whether this stream is ready to be read.
    void
    Reset the reader to the last marked position (or the beginning if mark has not been called).
    long
    skip(long n)
    Skip the specified number of characters.
    Gets a String representation of the underlying character sequence.

    Methods inherited from class java.io.Reader

    read, read

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CharSequenceReader

      public CharSequenceReader(CharSequence charSequence)
      Constructs a new instance with the specified character sequence.
      Parameters:
      charSequence - The character sequence, may be null
    • CharSequenceReader

      public CharSequenceReader(CharSequence charSequence, int start)
      Constructs a new instance with a portion of the specified character sequence.

      The start index is not strictly enforced to be within the bounds of the character sequence. This allows the character sequence to grow or shrink in size without risking any IndexOutOfBoundsException to be thrown. Instead, if the character sequence grows smaller than the start index, this instance will act as if all characters have been read.

      Parameters:
      charSequence - The character sequence, may be null
      start - The start index in the character sequence, inclusive
      Throws:
      IllegalArgumentException - if the start index is negative
      Since:
      2.7
    • CharSequenceReader

      public CharSequenceReader(CharSequence charSequence, int start, int end)
      Constructs a new instance with a portion of the specified character sequence.

      The start and end indexes are not strictly enforced to be within the bounds of the character sequence. This allows the character sequence to grow or shrink in size without risking any IndexOutOfBoundsException to be thrown. Instead, if the character sequence grows smaller than the start index, this instance will act as if all characters have been read; if the character sequence grows smaller than the end, this instance will use the actual character sequence length.

      Parameters:
      charSequence - The character sequence, may be null
      start - The start index in the character sequence, inclusive
      end - The end index in the character sequence, exclusive
      Throws:
      IllegalArgumentException - if the start index is negative, or if the end index is smaller than the start index
      Since:
      2.7
  • Method Details

    • close

      public void close()
      Close resets the file back to the start and removes any marked position.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Reader
    • mark

      public void mark(int readAheadLimit)
      Mark the current position.
      Overrides:
      mark in class Reader
      Parameters:
      readAheadLimit - ignored
    • markSupported

      public boolean markSupported()
      Mark is supported (returns true).
      Overrides:
      markSupported in class Reader
      Returns:
      true
    • read

      public int read()
      Read a single character.
      Overrides:
      read in class Reader
      Returns:
      the next character from the character sequence or -1 if the end has been reached.
    • read

      public int read(char[] array, int offset, int length)
      Read the specified number of characters into the array.
      Specified by:
      read in class Reader
      Parameters:
      array - The array to store the characters in
      offset - The starting position in the array to store
      length - The maximum number of characters to read
      Returns:
      The number of characters read or -1 if there are no more
    • ready

      public boolean ready()
      Tells whether this stream is ready to be read.
      Overrides:
      ready in class Reader
      Returns:
      true if more characters from the character sequence are available, or false otherwise.
    • reset

      public void reset()
      Reset the reader to the last marked position (or the beginning if mark has not been called).
      Overrides:
      reset in class Reader
    • skip

      public long skip(long n)
      Skip the specified number of characters.
      Overrides:
      skip in class Reader
      Parameters:
      n - The number of characters to skip
      Returns:
      The actual number of characters skipped
    • toString

      public String toString()
      Gets a String representation of the underlying character sequence.
      Overrides:
      toString in class Object
      Returns:
      The contents of the character sequence