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 }