org.apache.tools.ant.taskdefs

Class StreamPumper

Implemented Interfaces:
Runnable

public class StreamPumper
extends java.lang.Object
implements Runnable

Copies all data from an input stream to an output stream.
Since:
Ant 1.2

Constructor Summary

StreamPumper(InputStream is, OutputStream os)
Create a new stream pumper.
StreamPumper(InputStream is, OutputStream os, boolean closeWhenExhausted)
Create a new stream pumper.

Method Summary

int
getBufferSize()
Get the size in bytes of the read buffer.
Exception
getException()
Get the exception encountered, if any.
boolean
isFinished()
Tells whether the end of the stream has been reached.
void
run()
Copies data from the input stream to the output stream.
void
setBufferSize(int bufferSize)
Set the size in bytes of the read buffer.
void
waitFor()
This method blocks until the stream pumper finishes.

Constructor Details

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.

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.

Method Details

getBufferSize

public int getBufferSize()
Get the size in bytes of the read buffer.
Returns:
the int size of the read buffer.

getException

public Exception getException()
Get the exception encountered, if any.
Returns:
the Exception encountered.

isFinished

public boolean isFinished()
Tells 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.

setBufferSize

public void setBufferSize(int bufferSize)
Set the size in bytes of the read buffer.
Parameters:
bufferSize - the buffer size to use.

waitFor

public void waitFor()
            throws InterruptedException
This method blocks until the stream pumper finishes.