如何在Java程序中通过命令提示符运行.exe文件?

时间:2013-12-27 22:48:49

标签: java command-line

我已经阅读了有关通过命令提示符运行.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();

以及其他一些变化。没有人工作过。我处理这个问题的正确方法是什么?感谢。

1 个答案:

答案 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();
}