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

发布时间 2023-12-09 15:08:15作者: 挪威森林猫Zzz
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代码. 也可替换成你自己想要的代码.