我有这个问题: 我创建了一个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