【发布时间】:2013-06-08 07:34:35
【问题描述】:
我正在尝试运行 .bat 文件并获取输出。我可以运行它,但我无法在 Java 中得到结果:
String cmd = "cmd /c start C:\\workspace\\temp.bat";
Runtime r = Runtime.getRuntime();
Process pr = r.exec(cmd);
BufferedReader stdInput = new BufferedReader(
new InputStreamReader( pr.getInputStream() ));
String s ;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
结果是null。不知道为什么我会得到这个。请注意,我使用的是 Windows 7。
【问题讨论】:
-
阅读(并实施)所有 When Runtime.exec() won't 的建议。那可能会解决问题。如果不是,它应该提供更多关于失败原因的信息。然后忽略它引用
exec并使用ProcessBuilder构建Process。还要将String arg拆分为String[] args以说明本身包含空格的参数。
标签: java networking windows-7 process runtime.exec