在Java中打开命令后,在命令提示符中输入命令?

时间:2012-06-25 14:13:20

标签: java runtime cmd

我想知道如何在打开cmd.exe(命令提示符窗口)后输入命令?

我有以下代码打开cmd.exe:

Runtime rt= Runtime.getRuntime(); 
Process process= rt.exec("cmd.exe /c start cd c:\\ExecutionSDKTest_10.2.2");

但是在打开之后,我想输入“ant compile”或者任何一行,我该怎么办?

4 个答案:

答案 0 :(得分:2)

执行此操作的常规方法是将命令放在脚本中并执行脚本。

您需要在不同的线程上使用子进程的输出(stdout和stderr),否则进程将阻塞。

答案 1 :(得分:1)

你不需要打开命令行来编译带有正在运行的程序的程序,请查看how to compile & run java program in another java program?

答案 2 :(得分:1)

不完全是你的回答问题。但您可以使用ProcessBuilder设置进​​程当前目录(因此您不再需要调用“cd ...”)

答案 3 :(得分:1)

尝试将列表传递给ProcessBuilder

  final List<String> l = new ArrayList<String>();
    final String cmd = "C:/Program Files/Java/jre6/bin/";
    l.add("C:\\WINNT\\system32\\cmd.exe ");
    l.add("cd " + cmd);
    l.add("dir");
    l.add("java.exe -version");