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类的相应方法执行就可以了.
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MyBatis 源码分析 之SqlSession接口和Executor类
mybatis框架在操作数据的时候,离不开SqlSession接口实例类的作用,下面通过本文给大家实例剖析MyBatis 源码分析之SqlSession接口和Executor类,需要的朋友参考下吧2017-02-02Spring Boot集成LangChain来实现Rag应用的问题小结
检索增强生成(RAG)是一种优化大型语言模型(LLM)输出的技术,通过引用权威知识库以增强模型的准确性和相关性,RAG允许LLM在不重新训练的情况下访问特定领域的知识,提高了其在各种应用中的实用性和信任度,感兴趣的朋友跟随小编一起看看吧2024-09-09Spring Cloud Gateway 拦截响应问题分析(数据截断问题)
这篇文章主要介绍了Spring Cloud Gateway 拦截响应问题分析(数据截断问题),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-01-01
最新评论