2

我需要从 java 代码打开命令提示符并在其上运行一些命令,然后我需要实时读取 java 代码中的命令提示符输出。

我已尝试使用以下代码,但无法在 java 中读取 cmd 提示符显示/输出。

File file = new File("D://Projects/quantum");
Process proc = rt.exec("cmd.exe /c start cmd.exe /k \"ping localhost\"", null, file);

try {
    BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
    StringBuffer buffer = new StringBuffer();
    String line = null;
    while ((line = br.readLine()) != null) {
        System.out.println(line);

    }
} catch (IOException ioe) {
    ioe.printStackTrace();
}
4

2 回答 2

3

看看这个

Process p=Runtime.getRuntime().exec("cmd /c dir"); 
p.waitFor(); 
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); 
String line=reader.readLine(); 
于 2012-12-14T10:53:38.133 回答
2

这是运行Process.

一般提示。

  • 阅读并实施When Runtime.exec() won't的所有建议。
  • 完成后,忽略文章明确引用该Runtime.exec()方法的事实并建立Process使用 a ProcessBuilder,这样更容易实施第一个链接文章的一些建议。
  • 但即便如此,将命令分解为String命令的String[]参数。
于 2012-12-15T08:09:13.967 回答