我很难弄清楚如何通过Java传递命令行选项。我的Java代码需要调用二进制文件,而二进制文件又运行一些指令。我需要传递的命令是
./program 100 -r 1现在无法传递选项-r 1。
command=new String [2];
command[0] = ".//program";
command[1] = " "+String.valueOf(nScen);
Process p = Runtime.getRuntime().exec(command);一切正常,程序运行正常。nScen是一个整数。但是,如果我尝试
command=new String [3];
command[0] = ".//program";
command[1] = " "+String.valueOf(nScen);
command[2] = " -r 1";
Process p = Runtime.getRuntime().exec(command);或
command=new String [2];
command[0] = ".//program";
command[1] = " "+String.valueOf(nScen)+" -r 1";
Process p = Runtime.getRuntime().exec(command);程序不运行。我尝试了其他方法,比如使用.concat而不是+来合并字符串。正确的做法是什么?
谢谢你的帮助。
发布于 2014-10-29 15:08:58
你可以这样做:
Process proc = Runtime.getRuntime().exec("./program " + nScen + " -r 1");
int exitVal = proc.waitFor();您还需要捕获异常。
https://stackoverflow.com/questions/26633808
复制相似问题