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.
  • 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)
      Constructs a new stream pumper.
      Parameters:
      is - input stream to read data from.
      os - output stream to write data to.
    • StreamPumper

      public StreamPumper(InputStream is, OutputStream os, boolean closeWhenExhausted)
      Constructs 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)
      Constructs 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.
  • Method Details

    • isFinished

      public boolean isFinished()
      Tests whether the end of the stream has been reached.
      Returns:
      true is the stream has been exhausted.
    • 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
    • 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: