    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.io.SequenceInputStream

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

public class SequenceInputStream
extends InputStream

The sequence input stream class allows an application to combine several input streams serially and make them appear as if they were a single input stream. Each input stream is read from, in turn, until it reaches the end of the stream. The sequence input stream class then closes that stream and automatically switches to the next input stream.

##

SequenceInputStream(Enumeration)
  Constructs a new sequence input stream initialized to the specified enumeration of input streams.
SequenceInputStream(InputStream, InputStream)
  Constructs a new sequence input stream initialized to read first from the input stream `s1`, and then from the input stream `s2`.

##

available()
  Returns the number of bytes available on the current stream.
close()
  Closes this input stream and releases any system resources associated with the stream.
read()
  Reads the next byte of data from this input stream.
read(byte[], int, int)
  Reads up to `len` bytes of data from this input stream into an array of bytes.

##

SequenceInputStream

     public SequenceInputStream(Enumeration e)

  Constructs a new sequence input stream initialized to the specified enumeration of input streams. Each object in the enumeration must be an `InputStream`.

  Parameters:
    e - an enumeration of input streams.
  See Also:
    Enumeration

SequenceInputStream

     public SequenceInputStream(InputStream s1,
                                InputStream s2)

  Constructs a new sequence input stream initialized to read first from the input stream `s1`, and then from the input stream `s2`.

  Parameters:
    s1 - the first input stream to read.
    s2 - the second input stream to read.

##

available

     public int available() throws IOException

  Returns the number of bytes available on the current stream.

  Overrides:
    available in class InputStream

read

     public int read() throws IOException

  Reads the next byte of data from this input stream. The byte is returned as an `int` in the range `0` to `255`. If no byte is available because the 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.

  The `read` method of `SequenceInputStream` tries to read one character from the current substream. If it reaches the end of the stream, it calls the `close` method of the current substream and begins reading from the next substream.

  Returns:
    the next byte of data, or `-1` if the end of the stream is reached.
  Throws: IOException
    if an I/O error occurs.
  Overrides:
    read in class InputStream

read

     public int read(byte buf[],
                     int pos,
                     int len) throws IOException

  Reads up to `len` bytes of data from this input stream into an array of bytes. This method blocks until at least 1 byte of input is available. If the first argument is `null`, up to `len` bytes are read and discarded.

  The `read` method of `SequenceInputStream` tries to read the data from the current substream. If it fails to read any characters because the substream has reached the end of the stream, it calls the `close` method of the current substream and begins reading from the next substream.

  Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
  Throws: IOException
    if an I/O error occurs.
  Overrides:
    read in class InputStream

close

     public void close() throws IOException

  Closes this input stream and releases any system resources associated with the stream.

  The `close` method of `SequenceInputStream` calls the `close` method of both the substream from which it is currently reading and the `close` method of all the substreams that it has not yet begun to read from.

  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.