Class StreamPumper

java.lang.Object
org.apache.commons.exec.StreamPumper
All Implemented Interfaces:
Runnable

public class StreamPumper extends Object implements Runnable
Copies all data from an input stream to an output stream.
Version:
$Id: StreamPumper.java 1557263 2014-01-10 21:18:09Z ggregory $
  • Constructor Details

    • 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

      Create a new stream pumper.
      Parameters:
      is - input stream to read data from
      os - output stream to write data to.
  • Method Details

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