java.lang.Object | ||
↳ | java.io.OutputStream | |
↳ | java.io.PipedOutputStream |
Places information on a communications pipe. When two threads want to pass data back and forth, one creates a piped output stream and the other one creates a piped input stream.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new unconnected
PipedOutputStream . | |||||||||||
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Closes this stream.
| |||||||||||
Connects this stream to a
PipedInputStream . | |||||||||||
Notifies the readers of this
PipedInputStream that bytes can be
read. | |||||||||||
Writes
count bytes from the byte array buffer starting at
offset to this stream. | |||||||||||
Writes a single byte to this stream.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.io.OutputStream
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.io.Closeable
| |||||||||||
From interface
java.io.Flushable
| |||||||||||
From interface
java.lang.AutoCloseable
|
Constructs a new unconnected PipedOutputStream
. The resulting
stream must be connected to a PipedInputStream
before data can be
written to it.
Constructs a new PipedOutputStream
connected to the
PipedInputStream
target
. Any data written to this stream
can be read from the target stream.
target | the piped input stream to connect to. |
---|
IOException | if this stream or target are already connected.
|
---|
Closes this stream. If this stream is connected to an input stream, the input stream is closed and the pipe is disconnected.
IOException | if an error occurs while closing this stream. |
---|
Connects this stream to a PipedInputStream
. Any data written to
this output stream becomes readable in the input stream.
stream | the piped input stream to connect to. |
---|
IOException | if either stream is already connected. |
---|
Notifies the readers of this PipedInputStream
that bytes can be
read. This method does nothing if this stream is not connected.
IOException | if an I/O error occurs while flushing this stream. |
---|
Writes count
bytes from the byte array buffer
starting at
offset
to this stream. The written data can then be read from the
connected input stream.
Separate threads should be used to write to a PipedOutputStream
and to read from the connected PipedInputStream
. If the same
thread is used, a deadlock may occur.
buffer | the buffer to write. |
---|---|
offset | the index of the first byte in buffer to write. |
count | the number of bytes from buffer to write to this
stream. |
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 stream is not connected, if the target stream is closed or if the thread reading from the target stream is no longer alive. |
Writes a single byte to this stream. Only the least significant byte of
the integer oneByte
is written. The written byte can then be read
from the connected input stream.
Separate threads should be used to write to a PipedOutputStream
and to read from the connected PipedInputStream
. If the same
thread is used, a deadlock may occur.
oneByte | the byte 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 stream is not connected, if the target stream is closed or if the thread reading from the target stream is no longer alive. This case is currently not handled correctly. |