Я пытаюсь прочитать входной поток процесса, который я создаю внутри функции actionPerformed
JButton
для своего интерфейса. Для этой цели я реализовал исполняемый класс. Проблема в том, что я получаю поток вывода в квантах, то есть, скажем, я получаю 50 строк, затем большую паузу и еще 50 строк и тому подобное. Большая проблема заключается в том, что порядок строк не соответствует. Вот как выглядит мой код...
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{
try{
String sCommand = "cmd /c \"myenvsetup.bat && myprogram.exe\"";
Runtime rt = Runtime.getRuntime();
pr = rt.exec(sCommand);
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
try{
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = null;
while((line = input.readLine()) != null){
jTextArea1.append(line + "\n");
jTextArea1.scrollRectToVisible(new Rectangle(0, jTextArea1.getHeight(), 0, 0));
jTextArea1.update(jTextArea1.getGraphics());
}
pr.waitFor();
} catch (Exception e) {
}
}
});
} catch (Exception e){
}
}
update
, который вам никогда не нужно было делать - person MadProgrammer   schedule 15.03.2016