首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Java的Linux命令行指令

来自Java的Linux命令行指令
EN

Stack Overflow用户
提问于 2014-10-29 15:03:51
回答 1查看 120关注 0票数 0

我很难弄清楚如何通过Java传递命令行选项。我的Java代码需要调用二进制文件,而二进制文件又运行一些指令。我需要传递的命令是

代码语言:javascript
复制
./program 100 -r 1

现在无法传递选项-r 1。

代码语言:javascript
复制
  command=new String [2];
  command[0] = ".//program";
  command[1] = " "+String.valueOf(nScen);
  Process p = Runtime.getRuntime().exec(command);

一切正常,程序运行正常。nScen是一个整数。但是,如果我尝试

代码语言:javascript
复制
  command=new String [3];
  command[0] = ".//program";
  command[1] = " "+String.valueOf(nScen);
  command[2] = " -r 1";
  Process p = Runtime.getRuntime().exec(command);

代码语言:javascript
复制
  command=new String [2];
  command[0] = ".//program";
  command[1] = " "+String.valueOf(nScen)+" -r 1";
  Process p = Runtime.getRuntime().exec(command);

程序不运行。我尝试了其他方法,比如使用.concat而不是+来合并字符串。正确的做法是什么?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-29 15:08:58

你可以这样做:

代码语言:javascript
复制
Process proc = Runtime.getRuntime().exec("./program  " + nScen + " -r 1");
int exitVal = proc.waitFor();

您还需要捕获异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26633808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档