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