public class PipedWriter extends Writer
PipedReader| Constructor and Description |
|---|
PipedWriter()
Constructs a new unconnected
PipedWriter. |
PipedWriter(PipedReader destination)
Constructs a new
PipedWriter connected to destination. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this writer.
|
void |
connect(PipedReader reader)
Connects this
PipedWriter to a PipedReader. |
void |
flush()
Notifies the readers of this
PipedReader that characters can be read. |
void |
write(char[] buffer,
int offset,
int count)
Writes
count characters from the character array buffer
starting at offset index to this writer. |
void |
write(int c)
Writes a single character
c to this writer. |
public PipedWriter()
PipedWriter. The resulting writer
must be connected to a PipedReader before data may be written to
it.PipedReaderpublic PipedWriter(PipedReader destination) throws IOException
PipedWriter connected to destination.
Any data written to this writer can be read from destination.destination - the PipedReader to connect to.IOException - if destination is already connected.public void close()
throws IOException
PipedReader is connected to this writer,
it is closed as well and the pipe is disconnected. Any data buffered in
the reader can still be read.close in interface Closeableclose in interface AutoCloseableclose in class WriterIOException - if an error occurs while closing this writer.public void connect(PipedReader reader) throws IOException
PipedWriter to a PipedReader. Any data
written to this writer becomes readable in the reader.reader - the reader to connect to.IOException - if this writer is closed or already connected, or if reader is already connected.public void flush()
throws IOException
PipedReader that characters can be read. This
method does nothing if this Writer is not connected.flush in interface Flushableflush in class WriterIOException - if an I/O error occurs while flushing this writer.public void write(char[] buffer,
int offset,
int count)
throws IOException
count characters from the character array buffer
starting at offset index to this writer. The written data can
then be read from the connected PipedReader instance.
Separate threads should be used to write to a PipedWriter and to
read from the connected PipedReader. If the same thread is used,
a deadlock may occur.
write in class Writerbuffer - the buffer to write.offset - the index of the first character in buffer to write.count - the number of characters from buffer to write to this
writer.IndexOutOfBoundsException - if offset < 0 or count < 0, or if offset + count is bigger than the length of buffer.InterruptedIOException - if the pipe is full and the current thread is interrupted
waiting for space to write data. This case is not currently
handled correctly.IOException - if this writer is closed or not connected, if the target
reader is closed or if the thread reading from the target
reader is no longer alive. This case is currently not handled
correctly.NullPointerException - if buffer is null.public void write(int c)
throws IOException
c to this writer. This character can
then be read from the connected PipedReader instance.
Separate threads should be used to write to a PipedWriter and to
read from the connected PipedReader. If the same thread is used,
a deadlock may occur.
write in class Writerc - the character to write.InterruptedIOException - if the pipe is full and the current thread is interrupted
waiting for space to write data. This case is not currently
handled correctly.IOException - if this writer is closed or not connected, if the target
reader is closed or if the thread reading from the target
reader is no longer alive. This case is currently not handled
correctly.