/** * */ package org.eclipse.buckminster.executor.actor; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; /** * A class to redirect the output of an executed program to a PrintStream * * @author Guillaume CHATELET */ final class StreamGobblerRedirector extends Thread { private final InputStream is; private final PrintStream os; StreamGobblerRedirector(InputStream is, PrintStream os) { this.is = is; this.os = os; } @Override public void run() { try { final InputStreamReader isr = new InputStreamReader(is); final BufferedReader bufferedReader = new BufferedReader(isr); String readLine; while ((readLine = bufferedReader.readLine()) != null) os.println(readLine); } catch (IOException ioe) { ioe.printStackTrace(); } } }