在Linux中从java调用Fortran可执行文件

时间:2014-05-26 10:03:17

标签: java

我有一个Fortran exe。我需要做什么....我需要在Linux中通过java调用该exe。之后应该询问输入文件和输出文件。 这是我的代码:

Process process = new ProcessBuilder("/home/admin/Documents/file.out",
                                     "input","output").start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;

System.out.printf("Output of running %s is:", Arrays.toString(args));

while ((line = br.readLine()) != null) {
        System.out.println(line);
}

正在运行但是要求输入和输出文件

2 个答案:

答案 0 :(得分:0)

要在java中调用外部程序,您需要java.lang.Runtime包。如果您想要更方便的API,请查看Apache Commons Exec

答案 1 :(得分:0)

您向我们展示的代码都没有"要求"任何东西。

我可以看到你在哪里传递两个名称(它们是文件名?)到你的fortran程序中。但是接下来要由fortran程序打开这些文件并对它们做些什么。如果没有发生,那么问题出现在fortran代码中......

另一方面,如果您打算在Java代码中打开文件,并将文件句柄传递给fortran程序(作为其标准输入和标准输出),那么您的代码并不会尝试去做。您需要阅读ProcessBuilder的{​​{3}}。注意有关重定向子进程的输入和输出的内容。