Class JoinedInputStream

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

    public class JoinedInputStream
    extends java.io.InputStream
    This class allows to join several InputStream's into one.

    Reading from an instance of JoinedInputStream will read each underlying InputStream until it is depleted and then continue with the next one.

    Depleted InputStream's will be closed as soon as possible.

    Author:
    digulla
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      JoinedInputStream add​(java.io.InputStream in)
      Add another InputStream.
      void close()  
      int read()  
      int read​(byte[] b, int off, int len)  
      • Methods inherited from class java.io.InputStream

        available, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
      • Methods inherited from class java.lang.Object

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

      • JoinedInputStream

        public JoinedInputStream()
    • Method Detail

      • add

        public JoinedInputStream add​(java.io.InputStream in)
        Add another InputStream.

        It is allowed to add more InputStream's even after reading has started.

        It is illegal to add more streams after the joined stream has been closed.

      • 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
      • 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