Class StreamPumper

  • All Implemented Interfaces:
    Runnable

    public class StreamPumper
    extends Object
    implements Runnable
    Copies all data from an input stream to an output stream.
    • Constructor Detail

      • StreamPumper

        public StreamPumper​(InputStream is,
                            OutputStream os,
                            boolean closeWhenExhausted)
        Create a new stream pumper.
        Parameters:
        is - input stream to read data from
        os - output stream to write data to.
        closeWhenExhausted - if true, the output stream will be closed when the input is exhausted.
      • StreamPumper

        public StreamPumper​(InputStream is,
                            OutputStream os,
                            boolean closeWhenExhausted,
                            int size)
        Create a new stream pumper.
        Parameters:
        is - input stream to read data from
        os - output stream to write data to.
        closeWhenExhausted - if true, the output stream will be closed when the input is exhausted.
        size - the size of the internal buffer for copying the streams
      • StreamPumper

        public StreamPumper​(InputStream is,
                            OutputStream os)
        Create a new stream pumper.
        Parameters:
        is - input stream to read data from
        os - output stream to write data to.
    • Method Detail

      • run

        public void run()
        Copies data from the input stream to the output stream. Terminates as soon as the input stream is closed or an error occurs.
        Specified by:
        run in interface Runnable
      • isFinished

        public boolean isFinished()
        Tells whether the end of the stream has been reached.
        Returns:
        true is the stream has been exhausted.
      • waitFor

        public void waitFor()
                     throws InterruptedException
        This method blocks until the stream pumper finishes.
        Throws:
        InterruptedException - if any thread interrupted the current thread before or while the current thread was waiting for a notification.
        See Also:
        isFinished()