Package org.codehaus.groovy.util
Class CharSequenceReader
java.lang.Object
java.io.Reader
org.codehaus.groovy.util.CharSequenceReader
- All Implemented Interfaces:
java.io.Closeable
,java.io.Serializable
,java.lang.AutoCloseable
,java.lang.Readable
public class CharSequenceReader
extends java.io.Reader
implements java.io.Serializable
Reader
implementation that can read from String, StringBuffer,
StringBuilder, CharBuffer or GString.
Note: Supports mark(int)
and reset()
.
Note: This class is mostly a copy from Commons IO and is intended for internal Groovy usage only. It may be deprecated and removed from Groovy at a faster pace than other classes. If you need this functionality in your Groovy programs, we recommend using the Commons IO equivalent directly.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class java.io.Reader
lock
-
Constructor Summary
Constructors Constructor Description CharSequenceReader(java.lang.CharSequence charSequence)
Construct a new instance with the specified character sequence. -
Method Summary
Modifier and Type Method Description void
close()
Close resets the reader back to the start and removes any marked position.void
mark(int readAheadLimit)
Mark the current position.boolean
markSupported()
Mark is supported (returns true).int
read()
Read a single character.int
read(char[] array, int offset, int length)
Read the sepcified number of characters into the array.void
reset()
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.java.lang.String
toString()
Return a String representation of the underlying character sequence.Methods inherited from class java.io.Reader
nullReader, read, read, ready, transferTo
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
CharSequenceReader
public CharSequenceReader(java.lang.CharSequence charSequence)Construct a new instance with the specified character sequence.- Parameters:
charSequence
- The character sequence, may benull
-
-
Method Details
-
close
public void close()Close resets the reader back to the start and removes any marked position.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Reader
-
mark
public void mark(int readAheadLimit)Mark the current position.- Overrides:
mark
in classjava.io.Reader
- Parameters:
readAheadLimit
- ignored
-
markSupported
public boolean markSupported()Mark is supported (returns true).- Overrides:
markSupported
in classjava.io.Reader
- Returns:
true
-
read
public int read()Read a single character.- Overrides:
read
in classjava.io.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 sepcified number of characters into the array.- Specified by:
read
in classjava.io.Reader
- Parameters:
array
- The array to store the characters inoffset
- The starting position in the array to storelength
- The maximum number of characters to read- Returns:
- The number of characters read or -1 if there are no more
-
reset
public void reset()Reset the reader to the last marked position (or the beginning if mark has not been called).- Overrides:
reset
in classjava.io.Reader
-
skip
public long skip(long n)Skip the specified number of characters.- Overrides:
skip
in classjava.io.Reader
- Parameters:
n
- The number of characters to skip- Returns:
- The actual number of characters skipped
-
toString
public java.lang.String toString()Return a String representation of the underlying character sequence.- Overrides:
toString
in classjava.lang.Object
- Returns:
- The contents of the character sequence
-