cx.ath.matthew.io
Class InOutCopier

java.lang.Object
  extended by java.lang.Thread
      extended by cx.ath.matthew.io.InOutCopier
All Implemented Interfaces:
Runnable

public class InOutCopier
extends Thread

Copies from an input stream to an output stream using a Thread. example:

 InputStream a = getInputStream();
 OutputStream b = getOutputStream();
 InOutCopier copier = new InOutCopier(a, b);
 copier.start();
 <do stuff that writes to the inputstream>
 


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
InOutCopier(InputStream is, OutputStream os)
          Create a copier from an inputstream to an outputstream
 
Method Summary
 void close()
          Force close the stream without waiting for EOF on the source
 void flush()
          Flush the outputstream
 void run()
          Copies from the inputstream to the outputstream until EOF on the inputstream or explicitly closed
 void start()
          Start the thread and wait to make sure its really started
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InOutCopier

public InOutCopier(InputStream is,
                   OutputStream os)
            throws IOException
Create a copier from an inputstream to an outputstream

Parameters:
is - The stream to copy from
os - the stream to copy to
Throws:
IOException
Method Detail

close

public void close()
Force close the stream without waiting for EOF on the source


flush

public void flush()
           throws IOException
Flush the outputstream

Throws:
IOException

start

public void start()
Start the thread and wait to make sure its really started

Overrides:
start in class Thread

run

public void run()
Copies from the inputstream to the outputstream until EOF on the inputstream or explicitly closed

Specified by:
run in interface Runnable
Overrides:
run in class Thread
See Also:
close()