使用 Java ProcessBuilder 运行带有多个参数的 Windows .exe 文件不会按预期生成任何输出文件 [英] Running Windows .exe file with multiple arguments using Java ProcessBuilder is not producing any output file as expected
本文介绍了使用 Java ProcessBuilder 运行带有多个参数的 Windows .exe 文件不会按预期生成任何输出文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 ProcessBuilder 从我的 Java 代码在 Windows 7 中运行外部 .exe 程序
I am trying to run an external .exe program in Windows 7 from my Java code using ProcessBuilder
ProcessBuilder pb = new ProcessBuilder("C:\\hMetis\\1.5.3-win32\\hmetis.exe", "test.hgr", "2", "1", "10", "1", "1", "1", "0", "0");
Process process = pb.start();
但是,当我使用 cmd 从 Windows 运行这个独立的 .exe 时,它会在命令提示符中输出结果并生成一个包含结果的文件.在从 Java 运行 .exe 时,我没有看到这两种情况发生
However, when I run this standalone .exe from Windows using cmd it outputs the results in the command prompt as well as producing a file containing the results. I am not seeing any of these two happening while running the .exe from Java
有什么好建议我错过了什么吗?
Any kind suggestions what I am missing out?
推荐答案
尝试用这个来设置工作目录:
try to use this to set working directory :
File f = new File("C:\\hMetis\\1.5.3-win32");
ProcessBuilder pb = new ProcessBuilder("cmd", "/c","start","hmetis.exe", "test.hgr", "2", "1", "10", "1", "1", "1", "0", "0");
pb.directory(f);
Process process = pb.start();
这篇关于使用 Java ProcessBuilder 运行带有多个参数的 Windows .exe 文件不会按预期生成任何输出文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文