Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java中的参数运行.exe_Java - Fatal编程技术网

使用Java中的参数运行.exe

使用Java中的参数运行.exe,java,Java,如果从windows cmd运行以下命令,它将创建一个.clm文件: hclm_build_model -p params_even.params -o lleven_regression.clm -g 我试图在Java类中运行此功能,并根据之前使用的回复: Process process = new ProcessBuilder("hclm4\\hclm_build_model.exe", "-p", "params_even.params", "-o", "lleven_regressio

如果从windows cmd运行以下命令,它将创建一个.clm文件:

hclm_build_model -p params_even.params -o lleven_regression.clm -g
我试图在Java类中运行此功能,并根据之前使用的回复:

Process process = new ProcessBuilder("hclm4\\hclm_build_model.exe", "-p", "params_even.params", "-o", "lleven_regression.clm", "-g").start();
请注意,我通常通过位于hclm4 for目录中的cmd运行,而我的类是一级以上的

代码以状态0退出,但没有创建任何文件,这使我相信出现了问题

有什么建议吗?

您需要打电话,因为您对在Java程序中捕获输出不感兴趣

默认的I/O模式是,用于将很少使用的Java程序中的命令输入管道化,并将命令输出和错误输出管道化到Java程序中


该命令正在尝试写入输出,并在最初等待Java程序检索输出。当Java程序终止时,命令会在管道上出现写入错误,导致命令在开始执行所需任务之前终止。

您可能需要调用,因为您不想在Java程序中捕获输出,这是默认模式。您的文件是在active directory中创建的,JVM是从哪个位置启动的。如果您正在使用开发工具,它可能是您的开发工具。ProcessBuilder可以更改active directory。@Andreas这样做有效,但是,因为您的答案是注释,所以我不能接受: