在cmd中执行命令并在swing GUI应用程序的jTextArea中显示输出

时间:2012-04-01 17:46:08

标签: java

我正在开发一个swing gui应用程序,我想在其中执行一些cmd命令并在jTextArea中显示它们的输出,我还想在jTextField中输入程序执行期间询问的值。 Plase提供了一些代码,可以帮助我实现目标。

1 个答案:

答案 0 :(得分:0)

这段代码应该让您开始从java执行cmd命令并捕获它们的输出:

import java.io.InputStream;

public class CmdProxy {
  public static void main(String [] args) {
    try {
        Process proc = Runtime.getRuntime().exec("cmd /C \"dir \\ \"");
        InputStream is = proc.getInputStream();

        // NOTE: this is not the most elegant way to extract content from the
        // input stream
        int i = -1;
        StringBuilder buf = new StringBuilder();
        while ((i = is.read()) != -1) {
            buf.append((char)i);
        }

        proc.waitFor();

        System.out.println(buf.toString());
    } catch (Throwable t) {
        t.printStackTrace();
    }
  }
}

在沙盒中尝试一下,看看会发生什么。请注意,/ C选项确保cmd进程在处理完我们传递的命令参数(在本例中为“dir \”)后终止。在你的情况下,你想执行“cmd / C \”“+ whateverUserSpecified +”\“”。显然,我假设你正在编程/为Window的环境编程。我会让你或其他人弄清楚GUI代码。