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