For some terminal commands, they repeatedly output. For example, for something that\'s generating a file, it may output the percent that it is complete.
I know how
You need to read InputStream
from the process, here is an example:
Edit I modified the code as suggested here to receive the errStream
with the stdInput
ProcessBuilder builder = new ProcessBuilder("command goes here");
builder.redirectErrorStream(true);
Process process = builder.start();
InputStream is = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
For debugging purpose, you can read the input as bytes instead of using readLine
just in case that the process does not terminate messages with newLine