org.apache.tools.ant.taskdefs
public class StreamPumper extends Object implements Runnable
Since: Ant 1.2
Constructor Summary | |
---|---|
StreamPumper(InputStream is, OutputStream os, boolean closeWhenExhausted)
Create a new StreamPumper.
| |
StreamPumper(InputStream is, OutputStream os, boolean closeWhenExhausted, boolean useAvailable)
Create a new StreamPumper.
| |
StreamPumper(InputStream is, OutputStream os)
Create a new StreamPumper.
|
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 StreamPumper finishes. |
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.
Note: If you set useAvailable to true, you must
explicitly invoke stop
or interrupt the
corresponding Thread when you are done or the run method will
never finish on some JVMs (namely those where available returns
0 on a closed stream). Setting it to true may also impact
performance negatively. This flag should only be set to true
if you intend to stop the pumper before the input stream gets
closed.
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. useAvailable whether the pumper should use java.io.InputStream#available available
to determine
whether input is ready, thus trying to emulate
non-blocking behavior.
Since: Ant 1.8.0
Parameters: is input stream to read data from os output stream to write data to.
Returns: the int size of the read buffer.
Returns: the Exception encountered.
Returns: true is the stream has been exhausted.
Parameters: bufferSize the buffer size to use.
Throws: IllegalStateException if the StreamPumper is already running.
Throws: InterruptedException if interrupted.
See Also: isFinished