Impresión de un Java InputStream desde un proceso
UPDATE: I found a crucial part to why this probably isn't working! I used System.setOut(out); where out is a special PrintStream to a JTextArea
Este es el código, pero el problema que tengo es que la información solo se imprime una vez que finalizo el proceso.
public Constructor() {
main();
}
private void main() {
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
ProcessBuilder builder = new ProcessBuilder("java", textFieldMemory.getText(), "-jar", myJar);
Process process = builder.start();
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream), 1);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
inputStream.close();
bufferedReader.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
});
}
Salida de corriente:
Line 1
Line 2
Line 3
Line 4
Line 5
Esta es la salida correcta, pero solo se imprime como un bloque grande cuando finalizo el proceso.
¿Alguien sabe cuál es el problema? Si es así, ¿puede ayudarme a explicarme por qué sucede esto? Gracias de antemano.