Build 1.0_r1(from source)

java.io
Class PipedOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.PipedOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class PipedOutputStream
extends OutputStream

PipedOutputStream is a class which 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 creates a piped input stream.

See Also:
PipedInputStream

Constructor Summary
PipedOutputStream()
          Constructs a new unconnected PipedOutputStream.
PipedOutputStream(PipedInputStream dest)
          Constructs a new PipedOutputStream connected to the PipedInputStream dest.
 
Method Summary
 void close()
          Close this PipedOutputStream.
 void connect(PipedInputStream stream)
          Connects this PipedOutputStream to a PipedInputStream.
 void flush()
          Notifies the readers on the PipedInputStream that bytes can be read.
 void write(byte[] buffer, int offset, int count)
          Writes count bytes from this byte array buffer starting at offset index to this PipedOutputStream.
 void write(int oneByte)
          Writes the specified byte oneByte to this PipedOutputStream.
 
Methods inherited from class java.io.OutputStream
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PipedOutputStream

public PipedOutputStream()
Constructs a new unconnected PipedOutputStream. The resulting Stream must be connected to a PipedInputStream before data may be written to it.


PipedOutputStream

public PipedOutputStream(PipedInputStream dest)
                  throws IOException
Constructs a new PipedOutputStream connected to the PipedInputStream dest. Any data written to this stream can be read from the dest.

Parameters:
dest - the PipedInputStream to connect to.
Throws:
IOException - if dest is already connected.
Method Detail

close

public void close()
           throws IOException
Close this PipedOutputStream. Any data buffered in the corresponding PipedInputStream can be read, then -1 will be returned to the reader. If this OutputStream is not connected, this method does nothing.

Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException - If an error occurs attempting to close this PipedOutputStream.

connect

public void connect(PipedInputStream stream)
             throws IOException
Connects this PipedOutputStream to a PipedInputStream. Any data written to this OutputStream becomes readable in the InputStream.

Parameters:
stream - the destination PipedInputStream.
Throws:
IOException - If this Stream or the dest is already connected.

flush

public void flush()
           throws IOException
Notifies the readers on the PipedInputStream that bytes can be read. This method does nothing if this Stream is not connected.

Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException - If an IO error occurs during the flush.

write

public void write(byte[] buffer,
                  int offset,
                  int count)
           throws IOException
Writes count bytes from this byte array buffer starting at offset index to this PipedOutputStream. The written data can now be read from the destination PipedInputStream. Separate threads should be used for the reader of the PipedInputStream and the PipedOutputStream. There may be undesirable results if more than one Thread interacts a input or output pipe.

Overrides:
write in class OutputStream
Parameters:
buffer - the buffer to be written
offset - offset in buffer to get bytes
count - number of bytes in buffer to write
Throws:
IOException - If the receiving thread was terminated without closing the pipe. This case is not currently handled correctly.
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.
NullPointerException - If the receiver has not been connected yet.
IllegalArgumentException - If any of the arguments are out of bounds.

write

public void write(int oneByte)
           throws IOException
Writes the specified byte oneByte to this PipedOutputStream. Only the low order byte of oneByte is written. The data can now be read from the destination PipedInputStream. Separate threads should be used for the reader of the PipedInputStream and the PipedOutputStream. There may be undesirable results if more than one Thread interacts a input or output pipe.

Specified by:
write in class OutputStream
Parameters:
oneByte - the byte to be written
Throws:
IOException - If the receiving thread was terminated without closing the pipe. This case is not currently handled correctly.
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.
NullPointerException - If the receiver has not been connected yet.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature