【发布时间】:2015-11-12 11:32:12
【问题描述】:
各位早安,
我正在尝试开发一个使用 ProcessBulder 运行外部程序的 Eclipse 插件。
在执行过程中,我尝试将输出写入磁盘,但插件在我关闭 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 是在eclipse 结束后编写的。我怎样才能在关闭之前获得输出?
【问题讨论】:
标签: java eclipse-plugin outputstream processbuilder