PipedInputStream 

Introduction

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.

Class declaration

Following is the declaration for Java.io.PipedInputStream class −

public class PipedInputStream
   extends InputStream

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

Field

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.

Class constructors

Sr.No.Constructor & Description
1PipedInputStream()This creates a PipedInputStream so that it is not yet connected.
2PipedInputStream(int pipeSize)This creates a PipedInputStream so that it is not yet connected and uses the specified pipe size for the pipe’s buffer.
3PipedInputStream(PipedOutputStream src)This creates a PipedInputStream so that it is connected to the piped output stream src.
4PipedInputStream(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.

Class methods

Sr.No.Method & Description
1int available()This method returns the number of bytes that can be read from this input stream without blocking.
2void close()This method closes this piped input stream and releases any system resources associated with the stream.
3void connect(PipedOutputStream src)This method causes this piped input stream to be connected to the piped output stream src.
4int read()This method reads the next byte of data from this piped input stream.
5int 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.
6protected void receive(int b)This method receives a byte of data.

Methods inherited

This class inherits methods from the following classes −

  • Java.io.InputStream
  • Java.io.Object

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *