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 $
  • Field Details

    • DEFAULT_SIZE

      private static final int DEFAULT_SIZE
      the default size of the internal buffer for copying the streams
      See Also:
    • is

      private final InputStream is
      the input stream to pump from
    • os

      private final OutputStream os
      the output stream to pmp into
    • size

      private final int size
      the size of the internal buffer for copying the streams
    • finished

      private boolean finished
      was the end of the stream reached
    • closeWhenExhausted

      private final boolean closeWhenExhausted
      close the output stream when exhausted
  • 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

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