Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java执行进程并使其保持活动状态以供输入_Java_Fortran_Remote Control - Fatal编程技术网

从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

我想用java为fortran应用程序编写前端代码,因为据我所知fortran没有gui支持。(japi似乎不与ifort合作,请更正我的问题)

我想用netbeans构建gui,然后在后台将命令发送到fortran命令行程序。关于如何从java远程控制命令行应用程序,有什么建议吗

干杯, 大卫

我相信

Runtime.getRuntime().exec(command);

你有两种可能

  • Runtime.getRuntime().exec()
  • 使用ProcessBuilder
  • 我更喜欢process builder。它是在1.4版中引入的,提供了更好的API


    请注意,当您从一个进程运行另一个进程时,会出现性能下降。如果这对您很重要,我建议您让您的fortran程序从标准输入读取命令。然后,您可以运行该程序,并将命令推入其标准输入。ProcessBuilder非常简单。这种进程到进程的通信速度非常快。

    此外,您还可以通过命名管道进行通信。顺便说一句,没有办法从java创建它们(你可以在linux上调用mkfifo,或者在windows上使用winapi),但是一旦创建了它们,你就可以把它们当作读/写操作的“普通”文件。

    如果你的目标是Fortran程序的GUI,你可以使用dislin图形库在Fortran中完全编码。dislin主要是一个绘图包,但包含创建GUI的例程。它可用于多种操作系统。这些例程有很多功能,但没有成熟的窗口库那么广泛。例如,您可以用Fortran编写回调例程,以响应鼠标单击dislin窗口中的按钮

    我可以使用processbuilder获得一个示例,其中启动了一个进程(如cmd.exe)并在创建后通过stdint获取信号吗?那太好了。