我有一个exe文件,它以文件名作为输入。 当我像以下命令执行它时:
xyz.exe c:\input.txt c:\ouput.txt
这一切都按预期工作。
但是如何执行这个是java?
这是我使用过的,我没有在文件中获得输出:
String[] str = {"c:/input.txt","c:/output.txt"};
Process p = rt.exec("c:/xyz.exe",str);
答案 0 :(得分:2)
您正在使用以下方法:
public Process exec(String command,
String[] envp)
其中envp
是一个(quote)“字符串数组,其每个元素的格式为name = value的环境变量设置,如果子进程应该继承环境,则为null目前的流程。“
请改为尝试:
String[] command = {"c:/xyz.exe", "c:/input.txt", "c:/output.txt"};
Process p = Runtime.getRuntime().exec(command);
// ...
另请阅读本文,解释Runtime.exec(...)
:http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
答案 1 :(得分:0)
使用Runtime.exec或Processbuilder API
答案 2 :(得分:0)