2010-12-19 62 views
1

我想用java编写一个fortran应用程序的前端,因为据我所知,fortran没有gui-support。 (japi似乎没有用ifort,纠正我在这一个)从java执行进程并保持其输入

我想用netbeans构建gui,然后在后台简单地发送命令到fortran命令行程序。任何关于如何从java远程控制命令行应用程序的建议?

欢呼声, 大卫

回答

1

你有两种可能性。

  1. Runtime.getRuntime().exec()
  2. 使用的ProcessBuilder。

我更喜欢流程构建器。它是在1.4版本中引入的,并提供了更好的API。

请注意,当您从另一个进程运行一个进程时,会导致性能下降。如果它对你至关重要,我建议你让你的fortran程序从标准输入中读取命令。然后你可以运行这个程序并将你的命令转换为标准输入。 ProcessBuilder非常简单。这种流程到流程的沟通工作非常快。

+0

我可以得到一个使用processbuilder的例子,其中一个进程,如cmd.exe启动,创建后通过stdint获取信号?那样就好了。 – tarrasch 2010-12-20 16:43:30

0

我相信它

Runtime.getRuntime().exec(command); 
0

此外,你可以通过沟通命名管道。 AFAIK,没有办法从Java创建它们(你可以在Linux上调用mkfifo,或者在Windows上使用winapi),但是一旦创建,你可以将它们视为用于读/写操作的“普通”文件。

1

如果您的目标是Fortran程序的GUI,则可以使用dislin图形库完全在Fortran中对其进行编码。迪林主要是一个绘图软件包,但包括创建GUI的例程。它适用于多种操作系统。这些例程有很多功能,但不像完整的窗口库那么广泛。例如,您可以在Fortran中编写回调例程来响应在dislin窗口中的按钮点击鼠标。