java.io
public
abstract
class
java.io.Reader
Reader is an Abstract class for reading Character Streams. Subclasses of
Reader must implement the methods read(char[], int, int)
and
close()
.
Known Direct Subclasses
BufferedReader |
BufferedReader is a buffered character input reader. |
CharArrayReader |
CharArrayReader is used as a buffered character input stream on a character
array. |
FilterReader |
FilterReader is a class which takes a Reader and filters the input
in some way. |
InputStreamReader |
InputStreamReader is class for turning a byte Stream into a character Stream. |
PipedReader |
PipedReader is a class which receives information on a communications pipe. |
StringReader |
StringReader is used as a character input stream on a String. |
Known Indirect Subclasses
FileReader |
FileReader is class for turning a file into a character Stream. |
LineNumberReader |
LineNumberReader is a buffered character input reader which counts line
numbers as data is being read. |
PushbackReader |
PushbackReader is a filter class which allows chars read to be pushed back
into the stream so that they can be reread. |
Summary
Fields
protected |
|
|
Object |
lock |
The object used to synchronize access to the reader. |
Protected Constructors
Public Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
protected
Object
lock
The object used to synchronize access to the reader.
Protected Constructors
protected
Reader()
Constructs a new character stream Reader using this
as the
Object to synchronize critical regions around.
protected
Reader(Object lock)
Constructs a new character stream Reader using
lock
as the
Object to synchronize critical regions around.
Parameters
lock
| the Object to synchronize critical regions
around.
|
Public Methods
public
abstract
void
close()
Close this Reader. This must be implemented by any concrete subclasses.
The implementation should free any resources associated with the Reader.
Throws
IOException
| If an error occurs attempting to close this Reader.
|
public
void
mark(int readLimit)
Set a Mark position in this Reader. The parameter
readLimit
indicates how many characters can be read before a mark is invalidated.
Sending reset() will reposition the reader back to the marked position
provided
readLimit
has not been surpassed.
This default implementation simply throws IOException and concrete
subclasses must provide their own implementations.
Parameters
readLimit
| an int representing how many characters must be read before
invalidating the mark. |
Throws
IOException
| If an error occurs attempting mark this Reader.
|
public
boolean
markSupported()
Returns a boolean indicating whether or not this Reader supports mark()
and reset(). This class a default implementation which returns false.
Returns
true
if mark() and reset() are supported,
false
otherwise. This implementation returns
false
.
public
abstract
int
read(char[] buf, int offset, int count)
Reads at most
count
characters from this Reader and stores
them at
offset
in the character array
buf
.
Returns the number of characters actually read or -1 if the end of reader
was encountered.
Parameters
buf
| character array to store the read characters |
offset
| offset in buf to store the read characters |
count
| how many characters should be read in |
Returns
- how many characters were successfully read in or else -1 if the
end of the reader was detected.
Throws
IOException
| If the Reader is already closed or some other IO error
occurs.
|
public
int
read(CharBuffer target)
Read chars from the Reader and then put them to the
target
CharBuffer. Only put method is called on the
target
.
Parameters
target
| the destination CharBuffer |
Returns
- the actual number of chars put to the
target
. -1
when the Reader has reached the end before the method is called.
public
int
read(char[] buf)
Reads characters from this Reader and stores them in the character array
buf
starting at offset 0. Returns the number of characters
actually read or -1 if the end of reader was encountered.
Parameters
buf
| character array to store the read characters |
Returns
- how many characters were successfully read in or else -1 if the
end of the reader was detected.
Throws
IOException
| If the Reader is already closed or some other IO error
occurs.
|
public
int
read()
Reads a single character from this reader and returns the result as an
int. The 2 higher-order characters are set to 0. If the end of reader was
encountered then return -1.
Returns
- the character read or -1 if end of reader.
Throws
IOException
| If the Reader is already closed or some other IO error
occurs.
|
public
boolean
ready()
Returns a
boolean
indicating whether or not this Reader is
ready to be read without blocking. If the result is
true
,
the next
read()
will not block. If the result is
false
this Reader may or may not block when
read()
is sent.
Returns
true
if the receiver will not block when
read()
is called, false
if unknown
or blocking will occur.
Throws
IOException
| If the Reader is already closed or some other IO error
occurs.
|
public
void
reset()
Reset this Readers position to the last
mark()
location.
Invocations of
read()/skip()
will occur from this new
location. If this Reader was not marked, the implementation of
reset()
is implementation specific. See the comment for
the specific Reader subclass for implementation details. The default
action is to throw
IOException
.
Throws
IOException
| If a problem occured or the receiver does not support
mark()/reset() .
|
public
long
skip(long count)
Skips
count
number of characters in this Reader.
Subsequent
read()
's will not return these characters
unless
reset()
is used. This method may perform multiple
reads to read
count
characters.
Parameters
count
| how many characters should be passed over |
Returns
- how many characters were successfully passed over
Throws
IOException
| If the Reader is closed when the call is made or if an IO
error occurs during the operation.
|