Package org.apache.commons.exec
Class StreamPumper
- java.lang.Object
-
- org.apache.commons.exec.StreamPumper
-
- All Implemented Interfaces:
java.lang.Runnable
public class StreamPumper extends java.lang.Object implements java.lang.RunnableCopies all data from an input stream to an output stream.
-
-
Field Summary
Fields Modifier and Type Field Description private booleancloseWhenExhaustedClose the output stream when exhausted.private static intDEFAULT_SIZEThe default size of the internal buffer for copying the streams.private booleanfinishedWas the end of the stream reached.private java.io.InputStreamisThe input stream to pump from.private java.io.OutputStreamosThe output stream to pmp into.private intsizeThe size of the internal buffer for copying the streams.
-
Constructor Summary
Constructors Constructor Description StreamPumper(java.io.InputStream is, java.io.OutputStream os)Constructs a new stream pumper.StreamPumper(java.io.InputStream is, java.io.OutputStream os, boolean closeWhenExhausted)Constructs a new stream pumper.StreamPumper(java.io.InputStream is, java.io.OutputStream os, boolean closeWhenExhausted, int size)Constructs a new stream pumper.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisFinished()Tests whether the end of the stream has been reached.voidrun()Copies data from the input stream to the output stream.voidwaitFor()This method blocks until the stream pumper finishes.
-
-
-
Field Detail
-
DEFAULT_SIZE
private static final int DEFAULT_SIZE
The default size of the internal buffer for copying the streams.- See Also:
- Constant Field Values
-
is
private final java.io.InputStream is
The input stream to pump from.
-
os
private final java.io.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 Detail
-
StreamPumper
public StreamPumper(java.io.InputStream is, java.io.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(java.io.InputStream is, java.io.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(java.io.InputStream is, java.io.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 Detail
-
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:
runin interfacejava.lang.Runnable
-
waitFor
public void waitFor() throws java.lang.InterruptedExceptionThis method blocks until the stream pumper finishes.- Throws:
java.lang.InterruptedException- if any thread interrupted the current thread before or while the current thread was waiting for a notification.- See Also:
isFinished()
-
-