public class PipedReader extends Reader
PipedWriter| Constructor and Description |
|---|
PipedReader()
Constructs a new unconnected
PipedReader. |
PipedReader(int pipeSize)
Constructs a new unconnected
PipedReader with the given buffer size. |
PipedReader(PipedWriter out)
|
PipedReader(PipedWriter out,
int pipeSize)
Constructs a new
PipedReader connected to the given PipedWriter,
with the given buffer size. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this reader.
|
void |
connect(PipedWriter src)
Connects this
PipedReader to a PipedWriter. |
int |
read()
Reads a single character from this reader and returns it as an integer
with the two higher-order bytes set to 0.
|
int |
read(char[] buffer,
int offset,
int count)
Reads up to
count characters from this reader and stores them
in the character array buffer starting at offset. |
boolean |
ready()
Indicates whether this reader is ready to be read without blocking.
|
mark, markSupported, nullReader, read, read, reset, skip, transferTopublic PipedReader()
PipedReader. The resulting reader
must be connected to a PipedWriter before data may be read from
it.public PipedReader(PipedWriter out) throws IOException
PipedReader connected to the PipedWriter
out. Any data written to the writer can be read from the this
reader.out - the PipedWriter to connect to.IOException - if out is already connected.public PipedReader(int pipeSize)
PipedReader with the given buffer size.
The resulting reader must be connected to a PipedWriter before
data may be read from it.pipeSize - the size of the buffer in chars.IllegalArgumentException - if pipeSize is less than or equal to zero.public PipedReader(PipedWriter out, int pipeSize) throws IOException
PipedReader connected to the given PipedWriter,
with the given buffer size. Any data written to the writer can be read from
this reader.out - the PipedWriter to connect to.pipeSize - the size of the buffer in chars.IOException - if an I/O error occursIllegalArgumentException - if pipeSize is less than or equal to zero.public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class ReaderIOException - if an error occurs while closing this reader.public void connect(PipedWriter src) throws IOException
PipedReader to a PipedWriter. Any data
written to the writer becomes readable in this reader.src - the writer to connect to.IOException - if this reader is closed or already connected, or if src is already connected.public int read()
throws IOException
Separate threads should be used to read from a PipedReader and to
write to the connected PipedWriter. If the same thread is used,
a deadlock may occur.
read in class ReaderIOException - if this reader is closed or some other I/O error occurs.public int read(char[] buffer,
int offset,
int count)
throws IOException
count characters from this reader and stores them
in the character array buffer starting at offset. If
there is no data in the pipe, this method blocks until at least one byte
has been read, the end of the reader is detected or an exception is
thrown.
Separate threads should be used to read from a PipedReader and to
write to the connected PipedWriter. If the same thread is used, a
deadlock may occur.
Returns the number of characters read or -1 if the end of the reader has been reached.
read in class ReaderIndexOutOfBoundsException - if offset < 0 || count < 0 || offset + count > buffer.length.InterruptedIOException - if the thread reading from this reader is interrupted.IOException - if this reader is closed or not connected to a writer, or if
the thread writing to the connected writer is no longer
alive.public boolean ready()
throws IOException
true if this reader will not block when read is
called, false if unknown or blocking will occur. This
implementation returns true if the internal buffer contains
characters that can be read.ready in class Readerfalse.IOException - if this reader is closed or not connected, or if some other
I/O error occurs.read(),
read(char[], int, int)