Goodmorning ребята,OutputStream писать только тогда, когда я закрываю Eclipse, Application
Я пытаюсь разработать плагин Eclipse, который запустить внешнюю программу с ProcessBulder.
Во время exectution я пытаюсь записать вывод на диск, но плагин ничего не пишет до тех пор, пока я не закрою выполнение приложения Eclipse.
public void run()
{
ProcessBuilder pb = new ProcessBuilder("NuSMV.exe","-int");
Process process = null;
try {
process = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
OutputStream out = process.getOutputStream();
// Write commands
PrintWriter commands = new PrintWriter(out);
commands.println("reset");
commands.println("set default_trace_plugin 4");
commands.println("read_model -i C:\\temp/ascensore.smv");
commands.println("go");
commands.println("check_ctlspec");
commands.println("show_traces -o C:\\temp/showtraces.xml");
commands.close();
process.getOutputStream().close();
}
Showtraces.xml написан после окончания затмения. Как я могу получить выход до этого закрытия?
Мое предположение основано на том, что вы создаете новый экземпляр OutputStream, когда вы вызываете его из процесса, а не используете OutputStream, который вы только что использовали в своем Writer. Возможно, неправильно, хотя я не могу попробовать прямо сейчас. –