从应用程序启动终端

时间:2010-10-17 07:38:09

标签: java terminal command exec

我使用Netbeans 6.9创建了一个应用程序。在应用程序中,我希望当用户单击运行按钮时,终端(命令提示符)应该打开,并且终端上应该显示一些文本。该文本实际上是一个命令。我希望命令应该在终端上执行。谁能帮帮我吗。 我写了以下代码......

class test extends Exception{  
    public static void main(String arg[]) {  
        String command = "cmd.exe/start cmd";  
        System.out.println(command);  
        try {  
            Process child = Runtime.getRuntime().exec(command);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}

但它给出了以下错误......

cmd.exe / start cmd
java.io.IOException:无法运行程序“cmd.exe / start”:CreateProcess error = 2,
系统找不到指定的文件
        在java.lang.ProcessBuilder.start(ProcessBuilder.java:1018)
        在java.lang.Runtime.exec(Runtime.java:610)
        在java.lang.Runtime.exec(Runtime.java:448)
        在java.lang.Runtime.exec(Runtime.java:345)
        在test.main(test.java:6)
引起:java.io.IOException:CreateProcess error = 2,系统找不到 e文件指定
        at java.lang.ProcessImpl.create(Native Method)
        在java.lang.ProcessImpl。(ProcessImpl.java:155)
        在java.lang.ProcessImpl.start(ProcessImpl.java:99)
        在java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)
        ......还有4个

谁能告诉我这是什么问题?

- 提前谢谢

2 个答案:

答案 0 :(得分:2)

这是一个非常好的Java运行时和过程教程,它涵盖了你想要做的所有要点。

http://www.java-tips.org/java-se-tips/java.util/from-runtime.exec-to-processbuilder.html

简单地说,您希望使用Runtime打开命令窗口,并使用Process来读取和写入该进程的输出流。

答案 1 :(得分:1)

错误在您的命令中..“cmd.exe / start cmd”

处理prr = rt.exec(“cmd / c”+ i); 在这种情况下,您要执行的命令位于(String i)