1 package emissary.util.io;
2
3
4
5
6
7
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
48 }
49
50 }
51
52 public void finish() {
53 finished = true;
54 }
55 }