gpt4 book ai didi

java - 来自 Java 的 Linux 命令行指令

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:01 25 4
gpt4 key购买 nike

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

./program 100 -r 1

现在没有办法可以传递选项-r 1。在我的 Java 代码中,如果我运行:

  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 而不是 + 来合并字符串。这样做的正确方法是什么?

感谢您的帮助。

最佳答案

你可以这样做:

Process proc = Runtime.getRuntime().exec("./program  " + nScen + " -r 1");
int exitVal = proc.waitFor();

您还需要捕获异常。

关于java - 来自 Java 的 Linux 命令行指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26633808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com