问题描述
今天我写了一段简单的main函数运行Runtime.getRuntime().exec("cmd /c F:\build\bin\startup.bat");这段代码运行后没的反应,但是控制台又不出现错误。试了很多方法都不行,请路过的帮助解决哈 先在这谢谢了 问题补充:丨佑手畵情丶 写道
解决方案
之前写过的一个公共方法,已经在项目中应用,你可以借鉴一下:引用/** * 执行bat命令公共方法 * * @param cmd * @return * @see [类、类#方法、类#成员] */ private static String executeBatCmd(String cmd) { StringBuffer reSb = new StringBuffer(); try { ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe ", "/c ", cmd); // 将错误信息合并到标准输出信息中,可以使用getInputStream来获取所有的输出信息 processBuilder.redirectErrorStream(true); try { BufferedReader br = new BufferedReader(new InputStreamReader(processBuilder.start().getInputStream())); String line = null; while ((line = br.readLine()) != null) { reSb.append(line); } } catch (IOException e) { } } catch (Exception e) { } return reSb.toString(); }
解决方案二:
Runtime.getRuntime().exec("cmd /c F:\build\bin\startup.bat").waitFor();