CommandUtil.java

  1. package utils;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6.  
  7. /**
  8. * 执行系统命令工具类
  9. *
  10. * @author Storm
  11. *
  12. */
  13. public class CommandUtil {
  14.  
  15. /**
  16. * 默认输出字符集,设置成其它字符集中文会乱码
  17. */
  18. private static final String DEFAULT_CHARSET = "GBK";
  19.  
  20. /**
  21. * 执行系统命令
  22. *
  23. * @param command 命令
  24. * @return 命令执行完成输出内容
  25. * @throws IOException 执行失败时抛出异常,由调用者捕获处理
  26. * @throws InterruptedException 执行中断时抛出异常,由调用者捕获处理
  27. */
  28. public static String exec(String command) throws IOException, InterruptedException {
  29.  
  30. Process process = Runtime.getRuntime().exec(command);
  31. process.waitFor();
  32. try (
  33. InputStream in = process.getInputStream();
  34. ByteArrayOutputStream out = new ByteArrayOutputStream();
  35. ) {
  36.  
  37. byte[] bytes = new byte[4096];
  38. int len = -1;
  39. while ((len = in.read(bytes)) != -1) {
  40. out.write(bytes, 0, len);
  41. }
  42.  
  43. return out.toString(DEFAULT_CHARSET);
  44.  
  45. }
  46. }
  47.  
  48. public static void main(String[] args) {
  49. try {
  50. String command = "ipconfig /all";
  51. String result = CommandUtil.exec(command);
  52. System.out.println(result);
  53. } catch (IOException e) {
  54. e.printStackTrace();
  55. } catch (InterruptedException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59.  
  60. }

.

Java执行系统命令工具类(JDK自带功能)的更多相关文章

  1. Java 执行系统命令工具类(commons-exec)

    依赖jar <!-- 可以在JVM中可靠地执行外部进程的库. --> <dependency> <groupId>org.apache.commons</gr ...

  2. 一个爬取https和http通用的工具类(JDK自带的URL的用法)

    今天在java爬取天猫的时候因为ssl报错,所以从网上找了一个可以爬取https和http通用的工具类.但是有的时候此工具类爬到的数据不全,此处不得不说python爬虫很厉害. package cn. ...

  3. java文件处理工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

  4. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

  5. java 解析excel工具类

      java 解析excel工具类 CreateTime--2018年3月5日16:48:08 Author:Marydon ReadExcelUtils.java import java.io.Fi ...

  6. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  7. java 邮件发送工具类【来源网络自己已经实际应用】

    最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...

  8. Java多线程并发工具类-信号量Semaphore对象讲解

    Java多线程并发工具类-Semaphore对象讲解 通过前面的学习,我们已经知道了Java多线程并发场景中使用比较多的两个工具类:做加法的CycliBarrier对象以及做减法的CountDownL ...

  9. Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo

    Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo CountDownLatch countDownLatch这个类使一个线程等待其他线程 ...

随机推荐

  1. 从网络架构方面简析循环神经网络RNN

    一.前言 1.1 诞生原因 在普通的前馈神经网络(如多层感知机MLP,卷积神经网络CNN)中,每次的输入都是独立的,即网络的输出依赖且仅依赖于当前输入,与过去一段时间内网络的输出无关.但是在现实生活中 ...

  2. yii2之使用ueditor

    代码效果: 1.去github下载yii2高级版ueditor扩展 2.将下载的扩展放入  /common/widgets 中(目录如图所示) 3.在视图中的代码 <?=common\widge ...

  3. IT兄弟连 JavaWeb教程 文件下载技术

    ●  列出提供下载的文件资源 我们要将Web应用系统中的文件资源提供给用户进行下载,首先我们要有一个页面列出上传文件目录下的所有文件,当用户点击文件下载超链接时就进行下载操作,编写一个ListFile ...

  4. 乐字节-Java8核心特性实战之Stream(流)

    说起流,我们会想起手机 ,电脑组装流水线,物流仓库商品包装流水线等等.如果把手机 ,电脑,包裹看做最终结果的话,那么加工商品前的各种零部件就可以看做数据源,而中间一系列的加工作业操作,就可以看做流的处 ...

  5. qBittorrent+Flex搭建在线视频播放网站

    BT下载工具qbittorrent(当然这里也有其他类似的工具可选如transmission等) 首先安装EPEL源: yum -y install epel-release 安装开发工具包: yum ...

  6. JS高级学习历程-4

    4 执行环境可以访问什么变量 具体可以访问变量类型:局部变量.参数.函数.外部环境变量 优先级:局部变量 > 函数 > 参数 > 外部环境变量 <!DOCTYPE html&g ...

  7. Java8中的新特性Optional

    Optional 类是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象.Optional 是个容器:它可以保存类型T的值,或者仅仅保存 ...

  8. scp 可以在 2个 linux 主机间复制文件

    Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程.从远程复制到本地是两种使用方式.这里有具体举例: ================== Linu ...

  9. mysql 取整

    在mysql中,当处理数值时,会用到数值处理函数,如有一个float型数值2.13,你想只要整数2,那就需要下面的函数floor与round.   floor:函数只返回整数部分,小数部分舍弃.    ...

  10. C#数据类型 值传递和引用传递

    /// <summary> /// 电脑类 /// </summary> public class Computer { public string Type { get; s ...