我想知道打开cmd.exe(命令提示符窗口)后如何输入命令?
我有下面的代码来打开 cmd.exe:
Runtime rt= Runtime.getRuntime();
Process process= rt.exec("cmd.exe /c start cd c:\\ExecutionSDKTest_10.2.2");
但是打开后,我想输入“ant compile”或任何一行,我该怎么做?
执行此操作的正常方法是将命令放在脚本中并执行脚本。
您将需要在单独的线程上使用子进程的输出(stdout 和 stderr),否则您的进程将阻塞。
你不需要打开命令行来编译一个正在运行的程序,看看这个如何在另一个java程序中编译和运行java程序?
不完全是你问题的答案。但是您可以使用ProcessBuilder设置您的进程当前目录(因此您不再需要调用“cd ...”)
尝试将列表传递给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");