All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class java.io.PipedInputStream

java.lang.Object
   |
   +----java.io.InputStream
           |
           +----java.io.PipedInputStream

public class PipedInputStream
extends InputStream
A piped input stream is the receiving end of a communications pipe. Two threads can communicate by having one thread send data through a piped output stream and having the other thread read the data through a piped input stream.

See Also:
PipedOutputStream

Variable Index

 o buffer
The circular buffer into which incoming data is placed.
 o in
 o out
 o PIPE_SIZE

Constructor Index

 o PipedInputStream()
Creates a piped input stream that is not yet connected to a piped output stream.
 o PipedInputStream(PipedOutputStream)
Creates a piped input stream connected to the specified piped output stream.

Method Index

 o available()
Returns the number of bytes that can be read from this input stream without blocking.
 o close()
Closes this piped input stream and releases any system resources associated with the stream.
 o connect(PipedOutputStream)
Connects this piped input stream to a sender.
 o read()
Reads the next byte of data from this piped input stream.
 o read(byte[], int, int)
Reads up to len bytes of data from this piped input stream into an array of bytes.
 o receive(int)
Receives a byte of data.

Variables

 o PIPE_SIZE
 protected static final int PIPE_SIZE
 o buffer
 protected byte buffer[]
The circular buffer into which incoming data is placed.

 o in
 protected int in
 o out
 protected int out

Constructors

 o PipedInputStream
 public PipedInputStream(PipedOutputStream src) throws IOException
Creates a piped input stream connected to the specified piped output stream.

Parameters:
src - the stream to connect to.
Throws: IOException
if an I/O error occurs.
 o PipedInputStream
 public PipedInputStream()
Creates a piped input stream that is not yet connected to a piped output stream. It must be connected to a piped output stream, either by the receiver or the sender, before being used.

See Also:
connect, connect

Methods

 o connect
 public void connect(PipedOutputStream src) throws IOException
Connects this piped input stream to a sender.

Parameters:
src - The piped output stream to connect to.
Throws: IOException
if an I/O error occurs.
 o receive
 protected synchronized void receive(int b) throws IOException
Receives a byte of data. This method will block if no input is available.

Parameters:
b - the byte being received
Throws: IOException
If the pipe is broken.
 o read
 public synchronized int read() throws IOException
Reads the next byte of data from this piped input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because this end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Returns:
the next byte of data, or -1 if the end of the stream is reached.
Throws: IOException
if the pipe is broken.
Overrides:
read in class InputStream
 o read
 public synchronized int read(byte b[],
                              int off,
                              int len) throws IOException
Reads up to len bytes of data from this piped input stream into an array of bytes. This method blocks until at least one byte of input is available.

Parameters:
b - the buffer into which the data is read.
off - the start offset of the data.
len - the maximum number of bytes read.
Returns:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Throws: IOException
if an I/O error occurs.
Overrides:
read in class InputStream
 o available
 public synchronized int available() throws IOException
Returns the number of bytes that can be read from this input stream without blocking. This method overrides the available method of the parent class.

Returns:
the number of bytes that can be read from this input stream without blocking.
Throws: IOException
if an I/O error occurs.
Overrides:
available in class InputStream
 o close
 public void close() throws IOException
Closes this piped input stream and releases any system resources associated with the stream.

Throws: IOException
if an I/O error occurs.
Overrides:
close in class InputStream

All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.