我有這個問題: 我創建了一個bash腳本來執行一些任務。這個腳本在某一時刻調用一個java程序。這個java程序執行一些wsdl任務,並且有一點必須調用外部fortran程序來執行模擬,並將結果放入文件「oucomes.dat」中。 program.exe是完美的執行,但Java程序似乎無法打開由Fortran程序創建的文件。在調用FORTRAN模擬Java程序的代碼是:從Java調用系統命令時出現問題
Runtime.getRuntime().exec("./script.sh");
其中script.sh包含
#!/bin/bash
./program.exe
當我先打電話的Program.exe,然後Java程序的Java程序可以讀取prefectly 「outcomes.dat」。問題是我必須從java內部調用program.exe,因爲我需要從wsdl服務實時獲得一些數據,並最終將數據發送回wsdl服務。所以我想這個問題是我從java內部調用program.exe的形式。一種解決方案可能是在兩個程序中分解java代碼,並在程序之間編程調用program.exe。但我想要一個更快的解決方案(就CPU和內存使用情況而言)。爲了讓java程序能夠讀取「outcome.dat」,調用program.exe的正確形式是? PS:我使用linux。
正確的格式爲:\t try { \t Process p = Runtime.getRuntime()。exec(「./ script.sort.sh」); \t int exvalue = p.waitFor(); \t} catch(Throwable t){ do_something; } – emanuele 2012-02-02 10:01:59