我想用java編寫一個fortran應用程序的前端,因爲據我所知,fortran沒有gui-support。 (japi似乎沒有用ifort,糾正我在這一個)從java執行進程並保持其輸入
我想用netbeans構建gui,然後在後臺簡單地發送命令到fortran命令行程序。任何關於如何從java遠程控制命令行應用程序的建議?
歡呼聲, 大衛
我想用java編寫一個fortran應用程序的前端,因爲據我所知,fortran沒有gui-support。 (japi似乎沒有用ifort,糾正我在這一個)從java執行進程並保持其輸入
我想用netbeans構建gui,然後在後臺簡單地發送命令到fortran命令行程序。任何關於如何從java遠程控制命令行應用程序的建議?
歡呼聲, 大衛
你有兩種可能性。
Runtime.getRuntime().exec()
我更喜歡流程構建器。它是在1.4版本中引入的,並提供了更好的API。
請注意,當您從另一個進程運行一個進程時,會導致性能下降。如果它對你至關重要,我建議你讓你的fortran程序從標準輸入中讀取命令。然後你可以運行這個程序並將你的命令轉換爲標準輸入。 ProcessBuilder非常簡單。這種流程到流程的溝通工作非常快。
我相信它
Runtime.getRuntime().exec(command);
此外,你可以通過溝通命名管道。 AFAIK,沒有辦法從Java創建它們(你可以在Linux上調用mkfifo,或者在Windows上使用winapi),但是一旦創建,你可以將它們視爲用於讀/寫操作的「普通」文件。
如果您的目標是Fortran程序的GUI,則可以使用dislin圖形庫完全在Fortran中對其進行編碼。迪林主要是一個繪圖軟件包,但包括創建GUI的例程。它適用於多種操作系統。這些例程有很多功能,但不像完整的窗口庫那麼廣泛。例如,您可以在Fortran中編寫回調例程來響應在dislin窗口中的按鈕點擊鼠標。
我可以得到一個使用processbuilder的例子,其中一個進程,如cmd.exe啓動,創建後通過stdint獲取信號?那樣就好了。 – tarrasch 2010-12-20 16:43:30