使用Java中的参数运行.exe
如果从windows cmd运行以下命令,它将创建一个.clm文件:使用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
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这样做有效,但是,因为您的答案是注释,所以我不能接受: