从java代码打开命令提示符并运行一些命令并读取cmd提示符显示?

时间:2012-12-14 10:48:54

标签: java process runtime.exec

我需要从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();
}

2 个答案:

答案 0 :(得分:3)

检查this out

Process p=Runtime.getRuntime().exec("cmd /c dir"); 
p.waitFor(); 
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); 
String line=reader.readLine(); 

答案 1 :(得分:2)

这是运行Process的非常脆弱的实现。

一般提示。

  • 阅读并实施 所有 When Runtime.exec() won't的建议。
  • 完成后,请忽略文章明确引用Runtime.exec()方法并使用Process建立ProcessBuilder这一事实,这样可以更轻松地实施某些建议第一篇链接文章。
  • 但即便如此,请将String命令分解为String[]命令参数。
相关问题