我试图运行一个bat文件,它可以做任何事情。 当我通过在Windows中双击手动打开bat文件时, 它打开一个运行CLI的cmd windod。 bat文件需要运行jar。
这是我的代码:
@Override
public void changeToCli() {
try {
Process p = Runtime.getRuntime().exec("C:\\Users\\Gleb\\workspace1\\MVP\\CLI\\RunMe.bat");
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
您需要正确处理它的输入,输出和错误流。
批处理文件可能正在等待某些输入,或者批处理输出或错误流上的输出可能比缓冲区大,导致批处理阻塞直到输出/错误输出被消耗了。
请注意,这意味着消耗输入(它的程序输出,Java端的命名输入)和两个独立线程中的错误流。有关如何避免自己处理此问题的提示,请参阅Printing Runtime exec() OutputStream to console。
答案 1 :(得分:0)