View Javadoc
1   package emissary.util.io;
2   
3   /*
4    $Id$
5    */
6   /*
7    $Id$
8    */
9   import java.io.BufferedReader;
10  import java.io.IOException;
11  import java.io.InputStream;
12  import java.io.InputStreamReader;
13  import java.io.PrintStream;
14  import javax.annotation.Nullable;
15  
16  public class ReadOutput implements Runnable {
17  
18      private final BufferedReader br;
19      @Nullable
20      private PrintStream ps = null;
21      private final String tag;
22      public boolean finished = false;
23  
24      public ReadOutput(InputStream is, String str) {
25          br = new BufferedReader(new InputStreamReader(is));
26          tag = str;
27      }
28  
29      public ReadOutput(InputStream is, String str, PrintStream outp) {
30          br = new BufferedReader(new InputStreamReader(is));
31          tag = str;
32          ps = outp;
33      }
34  
35      @Override
36      public void run() {
37          String aLine = "";
38          finished = false;
39          try {
40              while ((aLine = br.readLine()) != null && !finished) {
41                  if (ps != null) {
42                      ps.println(tag + aLine);
43                  }
44              }
45              br.close();
46          } catch (IOException iox) {
47              // empty catch block
48          }
49  
50      }
51  
52      public void finish() {
53          finished = true;
54      }
55  }