Печать Java InputStream из процесса
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
Это код, но проблема, с которой я столкнулся, заключается в том, что информация распечатывается только после завершения процесса.
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();
}
}
});
}
Токовый выход:
Line 1
Line 2
Line 3
Line 4
Line 5
Это правильный вывод, но он выводится только как один большой блок, когда я заканчиваю процесс.
Кто-нибудь знает в чем проблема? Если да, то можете ли вы помочь мне объяснить, почему это происходит, спасибо заранее.