使用 Java ProcessBuilder 运行带有多个参数的 Windows .exe 文件不会按预期生成任何输出文件 [英] Running Windows .exe file with multiple arguments using Java ProcessBuilder is not producing any output file as expected

查看:65
本文介绍了使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆