The Java.io.PipedInputStream class is a piped input stream that can be connected to a piped output stream, the piped input stream then provides whatever data bytes are written to the piped output stream.Following are the important points about PipedInputStream −
The piped input stream contains a buffer, decoupling read operations from write operations, within limits.
Attempting to use both objects from a single thread is not recommended, as it may deadlock the thread.
A pipe is said to be broken if a thread that was providing data bytes to the connected piped output stream is no longer alive.
Following is the declaration for Java.io.PipedInputStream class −
public class PipedInputStream extends InputStream
Following are the fields for Java.io.PipedInputStream class −
protected byte[] buffer − This is the circular buffer into which incoming data is placed.
protected int in − This is the index of the position in the circular buffer at which the next byte of data will be stored when received from the connected piped output stream.
protected int out − This is the index of the position in the circular buffer at which the next byte of data will be read by this piped input stream.
protected static int PIPE_SIZE − This is the default size of the pipe's circular input buffer.
Sr.No. | Constructor & Description |
---|---|
1 | PipedInputStream() This creates a PipedInputStream so that it is not yet connected. |
2 | PipedInputStream(int pipeSize) This creates a PipedInputStream so that it is not yet connected and uses the specified pipe size for the pipe's buffer. |
3 | PipedInputStream(PipedOutputStream src) This creates a PipedInputStream so that it is connected to the piped output stream src. |
4 | PipedInputStream(PipedOutputStream src, int pipeSize) This creates a PipedInputStream so that it is connected to the piped output stream src and uses the specified pipe size for the pipe's buffer. |
Sr.No. | Method & Description |
---|---|
1 | int available()
This method returns the number of bytes that can be read from this input stream without blocking. |
2 | void close()
This method closes this piped input stream and releases any system resources associated with the stream. |
3 | void connect(PipedOutputStream src)
This method causes this piped input stream to be connected to the piped output stream src. |
4 | int read()
This method reads the next byte of data from this piped input stream. |
5 | int read(byte[] b, int off, int len)
This method reads up to len bytes of data from this piped input stream into an array of bytes. |
6 | protected void receive(int b)
This method receives a byte of data. |
This class inherits methods from the following classes −