zoukankan      html  css  js  c++  java
  • Java执行系统命令工具类(JDK自带功能)

    CommandUtil.java

    package utils;
    
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    /**
     * 执行系统命令工具类
     * 
     * @author Storm
     *
     */
    public class CommandUtil {
    
        /**
         * 默认输出字符集,设置成其它字符集中文会乱码
         */
        private static final String DEFAULT_CHARSET = "GBK";
    
        /**
         * 执行系统命令
         * 
         * @param command 命令
         * @return 命令执行完成输出内容
         * @throws IOException 执行失败时抛出异常,由调用者捕获处理
         * @throws InterruptedException 执行中断时抛出异常,由调用者捕获处理
         */
        public static String exec(String command) throws IOException, InterruptedException {
    
            Process process = Runtime.getRuntime().exec(command);
            process.waitFor();
            try (
                    InputStream in = process.getInputStream();
                    ByteArrayOutputStream out = new ByteArrayOutputStream();
            ) {
    
                byte[] bytes = new byte[4096];
                int len = -1;
                while ((len = in.read(bytes)) != -1) {
                    out.write(bytes, 0, len);
                }
    
                return out.toString(DEFAULT_CHARSET);
    
            }
        }
    
        public static void main(String[] args) {
            try {
                String command = "ipconfig /all";
                String result = CommandUtil.exec(command);
                System.out.println(result);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    
    }

    .

  • 相关阅读:
    Java课堂测试——一维数组
    05构建之法阅读笔记之二
    第八周个人总结
    团队项目第一篇——NABCD
    第七周学习进度报告
    地铁合作的第二周
    04构建之法阅读笔记之一
    第六周学习进度报告
    03人月神话阅读笔记之三
    地铁合作的第一周
  • 原文地址:https://www.cnblogs.com/jonban/p/9197951.html
Copyright © 2011-2022 走看看