zoukankan      html  css  js  c++  java
  • Java执行cmd命令工具类【转】

    Java执行cmd命令工具类【转】

    下述代码包含了java执行cmd、bat命令的代码

    package com.sinosoft.util;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    
    
    /**
     * @author rayfoo@qq.com
     * @version 1.0
     * <p>执行windows的cmd命令工具类</p>
     * @date 2021/9/1 17:20
     */
    public class CMDUtil {
    
        /**
         * 执行一个cmd命令
         * @param cmdCommand cmd命令
         * @return 命令执行结果字符串,如出现异常返回null
         */
        public static String excuteCMDCommand(String cmdCommand)
        {
            StringBuilder stringBuilder = new StringBuilder();
            Process process = null;
            try {
                process = Runtime.getRuntime().exec(cmdCommand);
                BufferedReader bufferedReader = new BufferedReader(
                        new InputStreamReader(process.getInputStream(), "GBK"));
                String line = null;
                while((line=bufferedReader.readLine()) != null)
                {
                    stringBuilder.append(line+"
    ");
                }
                return stringBuilder.toString();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
        /**
         * 执行bat文件,
         * @param file bat文件路径
         * @param isCloseWindow 执行完毕后是否关闭cmd窗口
         * @return bat文件输出log
         */
        public static String excuteBatFile(String file, boolean isCloseWindow)
        {
            String cmdCommand = null;
            if(isCloseWindow)
            {
                cmdCommand = "cmd.exe /c "+file;
            }else
            {
                cmdCommand = "cmd.exe /k "+file;
            }
            StringBuilder stringBuilder = new StringBuilder();
            Process process = null;
            try {
                process = Runtime.getRuntime().exec(cmdCommand);
                BufferedReader bufferedReader = new BufferedReader(
                        new InputStreamReader(process.getInputStream(), "GBK"));
                String line = null;
                while((line=bufferedReader.readLine()) != null)
                {
                    stringBuilder.append(line+"
    ");
                }
                return stringBuilder.toString();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 执行bat文件,新开窗口
         * @param file bat文件路径
         * @param isCloseWindow 执行完毕后是否关闭cmd窗口
         * @return bat文件输出log
         */
        public static String excuteBatFileWithNewWindow(String file, boolean isCloseWindow)
        {
            String cmdCommand = null;
            if(isCloseWindow)
            {
                cmdCommand = "cmd.exe /c start"+file;
            }else
            {
                cmdCommand = "cmd.exe /k start"+file;
            }
            StringBuilder stringBuilder = new StringBuilder();
            Process process = null;
            try {
                process = Runtime.getRuntime().exec(cmdCommand);
                BufferedReader bufferedReader = new BufferedReader(
                        new InputStreamReader(process.getInputStream(), "GBK"));
                String line = null;
                while((line=bufferedReader.readLine()) != null)
                {
                    stringBuilder.append(line+"
    ");
                }
                return stringBuilder.toString();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    }
    
    

    转自:JAVA执行cmd命令(包含执行批处理文件)

  • 相关阅读:
    shell函数使用
    laravel调试神器tinker
    laravel 5.1 单元测试 Cannot modify header information 错误
    angular 使用rxjs 监听同级兄弟组件数据变化
    angular 有关侦测组件变化的 ChangeDetectorRef 对象
    XML文件操作类--创建XML文件
    (收藏)C#实现截屏
    (转)C#操作PPT
    (转).NET代码混淆实践
    (整理)RPC
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/15215608.html
Copyright © 2011-2022 走看看