|
Chapter 11 The java.io Package |
|
PipedReader
Name
PipedReader
- Class Name:
-
java.io.PipedReader
- Superclass:
-
java.io.Reader
- Immediate Subclasses:
-
None
- Interfaces Implemented:
-
None
- Availability:
-
New as of JDK 1.1
The PipedReader
class represents half of a communication pipe; a PipedReader
must be connected to a PipedWriter.
When the two halves of a communication pipe are connected, data written
to the PipedWriter can be read
from the PipedReader.
The communication pipe formed by a PipedReader
and a PipedWriter should be used to
communicate between threads. If both ends of a pipe are used by
the same thread, the thread can hang.
The PipedReader class is the
character-based equivalent of the byte-based PipedInputStream.
public class java.io.PipedReader extends java.io.Reader {
// Constructors
public PipedReader();
public PipedReader(PipedWriter src);
// Instance Methods
public void close();
public void connect(PipedWriter src);
public int read(char[] cbuf, int off, int len);
}
- Description
-
This constructor creates a PipedReader
that is not connected to a PipedWriter.
The created object must be connected to a PipedWriter
before it can be used.
- Parameters
-
- src
-
The PipedWriter
to connect.
- Throws
-
- IOException
-
If any kind
of I/O error occurs.
- Description
-
This constructor creates a PipedReader
that receives data from the given PipedWriter.
- Throws
-
- IOException
-
If any kind
of I/O error occurs.
- Overrides
-
Reader.close()
- Description
-
This method closes the reader and releases the system resources that are
associated with it.
- Parameters
-
- src
-
The PipedWriter
to connect.
- Throws
-
- IOException
-
If another
PipedWriter is already connected
to this PipedReader.
- Description
-
This method connects the given PipedWriter
to this PipedReader
object. If there is already a connected PipedWriter,
an exception is thrown.
- Parameters
-
- cbuf
-
An array of characters to be filled.
- off
-
An offset into the array.
- len
-
The number of characters to read.
- Returns
-
The actual number of characters read or -1 if the end of the stream is
encountered immediately.
- Throws
-
- IOException
-
If the pipe is broken. In other words, if this
PipedReader is closed or if the connected
PipedWriter is dead.
- InterruptedIOException
-
While this method is waiting for input, if the
interrupted() method of the thread that invoked
this method is called.
- Overrides
-
Reader.read(char[], int, int)
- Description
-
This method copies characters from the pipe buffer into the given array
cbuf, starting at index off
and continuing for len characters.
If there is at least one character in the buffer, the method returns as
many characters as are in the buffer (up to len).
If the buffer is empty, the method blocks until data is written to the
connected PipedWriter.
IOException,
PipedInputStream,
PipedWriter,
Reader
|
|