1 17 18 package com.openedit.modules.update; 19 20 import java.io.BufferedReader ; 21 import java.io.IOException ; 22 import java.io.InputStream ; 23 import java.io.InputStreamReader ; 24 import java.io.OutputStream ; 25 26 29 public class StreamPumper extends Thread 30 { 31 private BufferedReader din; 32 private boolean endOfStream = false; 33 private int SLEEP_TIME = 5; 34 private OutputStream fieldOutputStream; 35 36 public StreamPumper( InputStream is, OutputStream os ) 37 { 38 this.din = new BufferedReader ( new InputStreamReader ( is ) ); 39 fieldOutputStream = os; 40 } 41 42 public void pumpStream() throws IOException 43 { 44 if (!endOfStream) 45 { 46 String line = din.readLine(); 47 48 if (line != null) 49 { 50 getOutputStream().write( line.getBytes() ); 51 52 } 53 else 54 { 55 endOfStream = true; 56 } 57 } 58 } 59 60 public void run() 61 { 62 try 63 { 64 try 65 { 66 while( !endOfStream ) 67 { 68 pumpStream(); 69 sleep( SLEEP_TIME ); 70 } 71 } 72 catch( InterruptedException ie ) 73 { 74 } 76 din.close(); 77 } 78 catch( IOException ioe ) 79 { 80 } 82 } 83 84 protected OutputStream getOutputStream() 85 { 86 return fieldOutputStream; 87 } 88 } | Popular Tags |