package com.compomics.util.io;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* A stream gobbler.
*
* @author Davy Maddelein
*/
public class StreamGobbler implements Runnable {
/**
* If the reading is to continue or not.
*/
private boolean continueReading = true;
/**
* The input stream.
*/
private InputStream is;
/**
* The string builder.
*/
private StringBuilder builder = new StringBuilder();
/**
* Constructor.
*
* @param is the input stream
*/
public StreamGobbler(InputStream is) {
this.is = is;
}
@Override
public void run() {
try {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while (continueReading) {
if ((line = br.readLine()) != null) {
System.out.println(line);
builder.append(line);
}
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
/**
* Returns the messages.
*
* @return the messages
*/
public String getMessages() {
return builder.toString();
}
/**
* Set if the reading is to continue or not.
*
* @param continueReading if the reading is to continue or not
*/
public void setContinueReading(boolean continueReading){
this.continueReading = continueReading;
}
}