我想知道如何在打开cmd.exe(命令提示符窗口)后输入命令?
我有以下代码打开cmd.exe:
Runtime rt= Runtime.getRuntime();
Process process= rt.exec("cmd.exe /c start cd c:\\ExecutionSDKTest_10.2.2");
但是在打开之后,我想输入“ant compile”或者任何一行,我该怎么办?
答案 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");