从java执行进程并使其保持活动状态以供输入
我想用java为fortran应用程序编写前端代码,因为据我所知fortran没有gui支持。(japi似乎不与ifort合作,请更正我的问题) 我想用netbeans构建gui,然后在后台将命令发送到fortran命令行程序。关于如何从java远程控制命令行应用程序,有什么建议吗 干杯, 大卫我相信从java执行进程并使其保持活动状态以供输入,java,fortran,remote-control,Java,Fortran,Remote Control,我想用java为fortran应用程序编写前端代码,因为据我所知fortran没有gui支持。(japi似乎不与ifort合作,请更正我的问题) 我想用netbeans构建gui,然后在后台将命令发送到fortran命令行程序。关于如何从java远程控制命令行应用程序,有什么建议吗 干杯, 大卫我相信 Runtime.getRuntime().exec(command); 你有两种可能 Runtime.getRuntime().exec() 使用ProcessBuilder 我更喜欢proce
Runtime.getRuntime().exec(command);
你有两种可能
Runtime.getRuntime().exec()
请注意,当您从一个进程运行另一个进程时,会出现性能下降。如果这对您很重要,我建议您让您的fortran程序从标准输入读取命令。然后,您可以运行该程序,并将命令推入其标准输入。ProcessBuilder非常简单。这种进程到进程的通信速度非常快。此外,您还可以通过命名管道进行通信。顺便说一句,没有办法从java创建它们(你可以在linux上调用mkfifo,或者在windows上使用winapi),但是一旦创建了它们,你就可以把它们当作读/写操作的“普通”文件。如果你的目标是Fortran程序的GUI,你可以使用dislin图形库在Fortran中完全编码。dislin主要是一个绘图包,但包含创建GUI的例程。它可用于多种操作系统。这些例程有很多功能,但没有成熟的窗口库那么广泛。例如,您可以用Fortran编写回调例程,以响应鼠标单击dislin窗口中的按钮 我可以使用processbuilder获得一个示例,其中启动了一个进程(如cmd.exe)并在创建后通过stdint获取信号吗?那太好了。