View Javadoc

1   package net.sf.commons.ssh;
2   
3   import java.io.IOException;
4   import java.io.InputStream;
5   
6   import org.apache.commons.logging.Log;
7   import org.apache.commons.logging.LogFactory;
8   
9   /***
10   * Copies data from input stream to string buffer
11   * 
12   * @author Sergey Vidyuk (svidyuk at gmail dot com)
13   */
14  final class StreamDataToBufferThread extends Thread {
15  
16      private static final Log log = LogFactory
17  	    .getLog(StreamDataToBufferThread.class);
18  
19      private final InputStream inputStream;
20  
21      private final StringBuffer stringBuilder;
22  
23      StreamDataToBufferThread(InputStream inputStream, StringBuffer stringBuilder) {
24  	this.inputStream = inputStream;
25  	this.stringBuilder = stringBuilder;
26      }
27  
28      public void run() {
29  	try {
30  	    int r = inputStream.read();
31  	    while (r != -1) {
32  		log.trace("buffer << " + (char) r);
33  		stringBuilder.append((char) r);
34  		r = inputStream.read();
35  	    }
36  	} catch (IOException exc) {
37  	    log.error(exc);
38  	}
39      }
40  }