Java程序执行cmd命令全过程

 更新时间:2024年01月30日 09:17:54   作者:大道之简  
这篇文章主要介绍了Java程序执行cmd命令全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

编写程序实现执行cmd指令

1.1 思路分析

使用Process的exec()将cmd的执行结果通过java的IO流输出到IDE的控制台即可。

Process的exec()方法。

看一下源码,发现有好几个构造方法,传单个cmd的,传cmd数组的等。

  public Process exec(String command) throws IOException {
        return exec(command, null, null);
   }
public Process exec(String command, String[] envp) throws IOException {
        return exec(command, envp, null);
    }

1.2 这里实现单个命令结果输出

.cmd的指令是ping www.baidu.com.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class DosUtil {
    public static void main(String[] args) {
        // Java调用 dos命令
        String cmd = "ping www.baidu.com";
        try {
            Process process = Runtime.getRuntime().exec(cmd);
            InputStream is = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String content = br.readLine();
            while (content != null) {
                System.out.println(content);
                content = br.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

运行结果:(出现乱码)

分析,dos窗口的编码方式没有指定嘛. 鼠标右键(箭头所指方向)点击属性.

清晰看到是GBK编码. 如果要修改DOS的默认编码,使用如下指令.

再次修改回GBK的编码方式.执行以下命令.(当前代码页). chcp 936

修改如下代码位置,添加编码参数.

再次运行程序.

dos下执行.

修改dos下字体,颜色,布局的方式.

看到想修改的字体颜色,使用Windows自带的画图工具,吸取颜色,获取RGB颜色代码值,设置就可以了.

简单总结,使用Process类的相应方法执行就可以了.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java反应式框架Reactor中的Mono和Flux

    Java反应式框架Reactor中的Mono和Flux

    这篇文章主要介绍了Java反应式框架Reactor中的Mono和Flux,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Spring Boot加密配置文件方法介绍

    Spring Boot加密配置文件方法介绍

    这篇文章主要介绍了SpringBoot加密配置文件,近期在对开发框架安全策略方面进行升级优化,提供一些通用场景的解决方案,本文针对配置文件加密进行简单的分享
    2023-01-01
  • Java实现PDF转Word的示例代码(无水印无页数限制)

    Java实现PDF转Word的示例代码(无水印无页数限制)

    这篇文章主要为大家详细介绍了如何利用Java语言实现PDF转Word文件的效果,并可以无水印、无页数限制。文中的示例代码讲解详细,需要的可以参考一下
    2022-05-05
  • SpringBoot+Spring Data JPA整合H2数据库的示例代码

    SpringBoot+Spring Data JPA整合H2数据库的示例代码

    H2数据库是一个开源的关系型数据库,本文重点给大家介绍SpringBoot+Spring Data JPA整合H2数据库的示例代码,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • Java Web实现添加定时任务的方法示例

    Java Web实现添加定时任务的方法示例

    这篇文章主要介绍了Java Web实现添加定时任务的方法,涉及java web定时任务控制类定义、调用及监听器定义、添加等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • SpringBoot Cache缓存概念讲解

    SpringBoot Cache缓存概念讲解

    这篇文章主要介绍了Springboot cache缓存,使用缓存最关键的一点就是保证缓存与数据库的数据一致性,本文给大家介绍最常用的缓存操作模式,对Springboot cache缓存操作流程感兴趣的朋友一起看看吧
    2022-12-12
  • Java实现字符串转换为十进制ASCII码的实战指南

    Java实现字符串转换为十进制ASCII码的实战指南

    将Java字符串转换为十进制ASCII码是文本处理、协议编码、数据序列化和底层通信中的常见需求,下面我们就来看看具体的实现方法,希望对大家有所帮助
    2026-05-05
  • Spring Security使用数据库登录认证授权

    Spring Security使用数据库登录认证授权

    本文主要介绍了Spring Security使用数据库登录认证授权,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • RocketMQ消息存储文件的加载与恢复机制源码分析

    RocketMQ消息存储文件的加载与恢复机制源码分析

    这篇文章主要介绍了RocketMQ源码分析之消息存储文件的加载与恢复机制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • java中删除文件/文件夹的3种方法示例小结

    java中删除文件/文件夹的3种方法示例小结

    这篇文章主要介绍了java中删除文件/文件夹的3种方法示例小结,第一种是通过io删除文件,第二种是通过Files.walk删除文件,第三种是通过 Files.walkFileTree删除文件,本文结合示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-10-10

最新评论