我有一个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);
}
正在运行但是要求输入和输出文件
答案 0 :(得分:0)
要在java中调用外部程序,您需要java.lang.Runtime包。如果您想要更方便的API,请查看Apache Commons Exec。
答案 1 :(得分:0)
您向我们展示的代码都没有"要求"任何东西。
我可以看到你在哪里传递两个名称(它们是文件名?)到你的fortran程序中。但是接下来要由fortran程序打开这些文件并对它们做些什么。如果没有发生,那么问题出现在fortran代码中......
另一方面,如果您打算在Java代码中打开文件,并将文件句柄传递给fortran程序(作为其标准输入和标准输出),那么您的代码并不会尝试去做。您需要阅读ProcessBuilder
的{{3}}。注意有关重定向子进程的输入和输出的内容。