作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【javaUp】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。技术交流、项目合作可私聊。 微信:shuhao-99999 

前言

通过Java代码直接启动批处理文件

例如,通过代码启动Tomcat,只需要把tomcat的startup.bat传入到方法里面就可以了! 

@Override
public void exeCmd(String batPath) {
    fileUtils.checkPath(batPath);
    log.info("Start to call cmd process: {}", batPath);
    StringBuilder sb = new StringBuilder();
    try {
        Process process = Runtime.getRuntime().exec(batPath);
        InputStream in = process.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            sb.append(line + "\n");
        }
        log.info(sb.toString());
        in.close();
        process.waitFor();
    } catch (Exception e) {
        log.error("Faild to call cmd process cmd because {}", e.getMessage());
    }
}

注:本篇文章是直接执行批处理文件,但是有两种情况不能处理:

1.路径里面带有空格的情况,2.环境变量设置问题;

所以博主写了另一篇文章解决了这两个问题:Java——通过Java代码启动批处理文件(二)

更多推荐

Java——通过Java代码启动批处理文件(一)