public class StringBufferReader extends Reader
Reader
over a StringBuffer
instance. Although
one can use StringReader
by passing it
StringBuffer.toString()
, it is better to use this class, as it
doesn't mark the passed-in StringBuffer
as shared (which will cause
inner char[] allocations at the next append() attempt).StringBuffer
is not
changed during the use of this Reader
implementation.
StringReader
(for
the right reasons).
StringBuffer sb = new StringBuffer("some text"); Reader reader = new StringBufferReader(sb); ... read from reader - don't close it ! ... sb.setLength(0); sb.append("some new text"); reader.reset(); ... read the new string from the reader ...
Constructor and Description |
---|
StringBufferReader(StringBuffer sb) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
mark(int readAheadLimit)
Mark the present position in the stream.
|
boolean |
markSupported() |
int |
read() |
int |
read(char[] cbuf,
int off,
int len) |
boolean |
ready() |
void |
reset() |
void |
set(StringBuffer sb) |
long |
skip(long ns) |
public StringBufferReader(StringBuffer sb)
public void close()
public void mark(int readAheadLimit) throws IOException
mark
in class Reader
readAheadLimit
- Limit on the number of characters that may be read
while still preserving the mark. Because the stream's input comes
from a StringBuffer, there is no actual limit, so this argument
must not be negative, but is otherwise ignored.IllegalArgumentException
- If readAheadLimit is < 0IOException
- If an I/O error occurspublic boolean markSupported()
markSupported
in class Reader
public int read() throws IOException
read
in class Reader
IOException
public int read(char[] cbuf, int off, int len) throws IOException
read
in class Reader
IOException
public boolean ready() throws IOException
ready
in class Reader
IOException
public void reset() throws IOException
reset
in class Reader
IOException
public void set(StringBuffer sb)
public long skip(long ns) throws IOException
skip
in class Reader
IOException
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.