ReadOutput.java
package emissary.util.io;
/*
$Id$
*/
/*
$Id$
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import javax.annotation.Nullable;
public class ReadOutput implements Runnable {
private final BufferedReader br;
@Nullable
private PrintStream ps = null;
private final String tag;
public boolean finished = false;
public ReadOutput(InputStream is, String str) {
br = new BufferedReader(new InputStreamReader(is));
tag = str;
}
public ReadOutput(InputStream is, String str, PrintStream outp) {
br = new BufferedReader(new InputStreamReader(is));
tag = str;
ps = outp;
}
@Override
public void run() {
String aLine = "";
finished = false;
try {
while ((aLine = br.readLine()) != null && !finished) {
if (ps != null) {
ps.println(tag + aLine);
}
}
br.close();
} catch (IOException iox) {
// empty catch block
}
}
public void finish() {
finished = true;
}
}