我已经阅读了有关通过命令提示符运行.exe文件的其他问题,但给出的答案对我不起作用 - 我尝试了几个。我正在为这个.exe生成输入文件,我需要运行它们并获得输出。
命令是这样的:C:\ exeDir \ myExe.exe -b C:\ inDir \ in.txt C:\ outDir \ out.txt
我试过了:
Process process = new ProcessBuilder("C:\\exeDir\\myExe.exe",
"-b C:\\inDir\\in.txt",
"C:\\outDir\\out.txt").start();
和
String[] cmd = { "C:\\exeDir\\myExe.exe",
"-b C:\\inDir\\in.txt",
"C:\\outDir\\out.txt" };
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
以及其他一些变化。没有人工作过。我处理这个问题的正确方法是什么?感谢。
答案 0 :(得分:3)
你走在正确的轨道上,
try {
Process process = new ProcessBuilder(
"C:\\exeDir\\myExe.exe",
"-b", "C:\\inDir\\in.txt",
"C:\\outDir\\out.txt").start();
// to get the result...
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(
new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
// Process finished.
} catch (Exception e) {
// print any errors.
e.printStackTrace();
}