    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

##

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

##

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

##

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

##

PIPE_SIZE

     protected static final int PIPE_SIZE

buffer

     protected byte buffer[]

  The circular buffer into which incoming data is placed.

in

     protected int in

out

     protected int out

##

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.

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

##

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.

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.

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

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

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

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.