Java ProcessBuilder未读取执行文件

Java ProcessBuilder未读取执行文件,java,process,processbuilder,Java,Process,Processbuilder,下面c程序有两个参数a,b,如果它与用户输入匹配,它将打印值。我尝试在JavaProcessBuilder中运行c执行文件,但它不读取执行文件 Java代码 c代码 #包括 #包括 #包括 主(内部argc,字符**argv) { setbuf(标准输出,空); int i=1,j,n; 字符a,b; 对于(i=0;i我不清楚您要做什么,但是如果您想从java命令行传递ProcessBuilder参数,那么您需要这样做 ProcessBuilder pb = new ProcessBuilder

下面c程序有两个参数a,b,如果它与用户输入匹配,它将打印值。我尝试在Java
ProcessBuilder
中运行c执行文件,但它不读取执行文件

Java代码 c代码
#包括
#包括
#包括
主(内部argc,字符**argv)
{
setbuf(标准输出,空);
int i=1,j,n;
字符a,b;

对于(i=0;i我不清楚您要做什么,但是如果您想从java命令行传递
ProcessBuilder
参数,那么您需要这样做

ProcessBuilder pb = new ProcessBuilder("path", args[0], args[1]); // Note, index starts with 0

按照这种方式,您将实际字符串“arg[1]”
和“arg[2]”发送到您的命令。

您可能希望编写:

if (args.length >= 2)
    ProcessBuilder pb = new ProcessBuilder("path","-" + args[0], "-" + args[1]");

Java参数也是从0而不是从1索引的,第一个参数中没有程序名,就像在C中一样。

:我尝试用Java执行C文件。在我的代码中,processBuilder命令是错误的。非常感谢。
ProcessBuilder pb = new ProcessBuilder("path", args[0], args[1]); // Note, index starts with 0
if (args.length >= 2)
    ProcessBuilder pb = new ProcessBuilder("path","-" + args[0], "-" + args[1]");