首页 > 编程语言 >Java执行cmd命令.并打印输出. 解决中文乱码 .

Java执行cmd命令.并打印输出. 解决中文乱码 .

时间:2023-12-09 15:11:22浏览次数:31  
标签:java 打印输出 process cmd 乱码 io import Java

package org.example;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

public class Main {
    public static void main(String[] args) {
        try {
            ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "echo 您好!我是Java.");
            processBuilder.redirectErrorStream(true); // 将错误流合并到输出流中
            Process process = processBuilder.start();

            // 读取进程的输出流,指定编码为GBK
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), Charset.forName("GBK")));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            int exitCode = process.waitFor();
            System.out.println("命令执行完成,退出码:" + exitCode);
        } catch (IOException | InterruptedException e) {
            System.out.println("Error U !");
        }
    }
}

  如上图, 红色部分内容为执行的cmd代码. 也可替换成你自己想要的代码.

 

标签:java,打印输出,process,cmd,乱码,io,import,Java
From: https://www.cnblogs.com/alpha-cat/p/17890996.html

相关文章

  • 【JavaSE】可变参数
    可变参数可变参数用在形参中可以接收多个数据可变参数的格式:数据类型...参数名称可变参数的特点:方便,可以不传输参数,可以传输一个或者多个,也可以传输一个数组可变参数在方法内部本质上就是一个数组注意事项:一个形参列表中可变参数只能有一个可变参数必须放在形参列表的......
  • Java流程控制-循环控制
    免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动1.循环控制1.1for循环基本语法:for(循环变量初始化;循环条件;循环变量迭代){循环操作(可以多条语句);}说明:for关键字,表示......
  • java获取字符串最后一个字符
    要获取字符串的最后一个字符,你可以使用以下方法之一:方法1:使用charAt()方法Stringstr="HelloWorld";charlastChar=str.charAt(str.length()-1);System.out.println("最后一个字符是:"+lastChar);方法2:使用substring()方法Stringstr="HelloWorld";StringlastC......
  • 报错:java.lang.IllegalArgumentException
    问题表象开发,测试环境运行正常的接口到现场报错,报错日志关键信息如下:java.lang.IllegalArgumentException:Invalidcharacterfoundintherequesttarget.ThevalidcharactersaredefinedinRFC7230andRFC3986。问题分析及原因由于代码在开发测试环境测试通过,判断大概......
  • JavaScript-history对象
    概述window.history属性指向History对象,它表示当前窗口的浏览历史。History对象保存了当前窗口访问过的所有页面网址。下面代码表示当前窗口一共访问过3个网址。window.history.length//3由于安全原因,浏览器不允许脚本读取这些地址,但是允许在地址之间导航。//后退到前一个网......
  • 不写javaType,能匹配上吗
    重新生成不写javaType,能匹配上吗不歇javaType,能匹配上吗xml复制代码<resultproperty="totalCubage"column="total_cubage"/><resultproperty="totalWeight"column="total_weight"/><resultproperty="totalQty&q......
  • 毕业设计-基于JAVA的机场航班起降与协调管理系统
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助收藏点赞不迷路 关注作......
  • javaScript/js 【call,apply,bind】
    在JavaScript中,call、apply和bind都是用于改变函数执行上下文(this的值)的方法。它们在不同的情境下有不同的用途。call方法:call方法允许你调用一个函数,并指定该函数内部的this值,以及将参数以单独的参数传递给函数。functiongreet(name){console.log(`Hello,${name}!Ia......
  • JAVA自定义对象序列化,自定义的控制每个字节的序列化情况
    在java中,正常来说序列化是可以直接继承Serializable,或使用类似于fastjson,protobuf等框架。但是这些框架对于二进制协议,自定义协议,私有协议方面却不太好使,私有协议大多还是按照字节的方式组织数据,对于java来说需要控制每个属性的序列化方式,所以这块主要还是以传统的方式,读字节......
  • Elasticsearch:一个强大的Java搜索引擎
    一、介绍Elasticsearch是一个基于ApacheLucene库的开源搜索引擎,它提供了一个分布式、多租户能力的全文搜索引擎,同时具有HTTP网络界面和无模式JSON文档。Elasticsearch是用Java开发的,它是一个可扩展的系统,可以很容易地通过插件来扩展其功能。二、特点全文搜索引擎:Elasticsearch使用......