【问题标题】:open a command prompt from java code and run some commands and read the cmd prompt display?从 java 代码打开命令提示符并运行一些命令并阅读 cmd 提示符显示?
【发布时间】:2012-12-14 10:48:53
【问题描述】:

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

【问题讨论】:

    标签: java process runtime.exec


    【解决方案1】:

    查看this out

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

    【讨论】:

      【解决方案2】:

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

      一般提示。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-02
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 2010-11-30
        相关资源
        最近更新 更多