java传参调用fortran的exe可执行文件

 

java传参调用fortran的exe可执行文件

需求:最近有一个任务,其核心部分主要是整合java和fortran之间的数据交互;java调用fortran的exe可执行文件,同时传递参数到fortran里面,以便fortran后续的处理,

           下面我抽离出传参的代码案例

一、fortran端 main.f90 生成 .exe 可执行文件

program main
implicit none

integer :: getcwd,status,sh,kk,getarg
character(len=64) :: dirname
character(len=64) :: keke,arg

status=getcwd(dirname)   //dirname 得到工作空间
write(*,*)dirname              //打印到控制台查看dirname内容

//arg 得到命令行第一个参数m1km1904040200000, 可以改1为0就是得到第0个参数.
status=getarg(1,arg)                             
write(*,*)arg
READ(*,*)dirname           //等待控制台窗口输入参数到 赋值dirname

end program main

 

二、java端调用.exe可执行文件
public static void main(String[] args) {
try {
//下面两种方式调用
//fortrans工作空间,status=getcwd(dirname) 得到dirname的值等于调用的位置,传递的参数不要有"_"之类的特殊符号
Runtime.getRuntime().exec("cmd /c start D:/fortransoft/MyProjects/main/Debug/main.exe m1km1904040200000");
//Desktop.getDesktop().open(new File("D:/fortran/test/main.exe"));
}catch(Exception e) {
e.printStackTrace();
}
}

 

posted on 2019-04-10 11:31  847053757  阅读(803)  评论(0编辑  收藏  举报

导航