Class MultipleInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class MultipleInputStream
    extends java.io.InputStream
    A multiple input stream.

    Instances of this class encapsulate a sequence of input streams. When one of the streams is exhausted, the multiple stream behaves as if on an end of file. However, after calling reset() the stream is again readable, and positioned at the start of the following stream.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()  
      void close()  
      static java.io.InputStream getStream​(java.io.InputStream[] inputStream)
      Returns an input stream encapsulating a nonempty array of input streams.
      static java.io.InputStream getStream​(java.io.InputStream[] inputStream, int offset, int length)
      Returns an input stream encapsulating a nonempty fragment of an array of input streams.
      boolean markSupported()  
      int read()  
      int read​(byte[] b)  
      int read​(byte[] b, int off, int len)  
      void reset()  
      long skip​(long n)  
      • Methods inherited from class java.io.InputStream

        mark, nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getStream

        public static java.io.InputStream getStream​(java.io.InputStream[] inputStream,
                                                    int offset,
                                                    int length)
        Returns an input stream encapsulating a nonempty fragment of an array of input streams.
        Parameters:
        inputStream - an array of input streams, that will be encapsulated.
        offset - the first input stream that will be encapsulated.
        length - the number of input streams to be encapsulated.
        Returns:
        an input stream encapsulating the argument streams (the only argument, if length is 1).
      • getStream

        public static java.io.InputStream getStream​(java.io.InputStream[] inputStream)
        Returns an input stream encapsulating a nonempty array of input streams.

        Note that if inputStream.length is 1 this method will return the only stream that should be encapsulated.

        Parameters:
        inputStream - an array of input streams, that will be encapsulated.
        Returns:
        an input stream encapsulating the argument streams (the only argument, if the length is 1).
      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.InputStream
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.InputStream
        Throws:
        java.io.IOException
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.InputStream
      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • reset

        public void reset()
                   throws java.io.IOException
        Overrides:
        reset in class java.io.InputStream
        Throws:
        java.io.IOException
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.InputStream
        Throws:
        java.io.IOException