Java 提供以下方法执行 cmd 命令:runtime.exec() 创建进程并执行命令。processbuilder 灵活创建进程并配置参数。流处理(inputstream、geterrorstream)获取输出和错误信息。
Java 执行 CMD 命令
Java 提供了以下方法来执行 CMD 命令:
Runtime.exec()
Runtime.exec() 方法创建新进程并执行指定的命令。它返回一个 Process 对象,其中包含有关该进程的信息以及用于与该进程交互的方法。
立即学习“Java免费学习笔记(深入)”;
用法示例:
Process process = Runtime.getRuntime().exec("dir");
登录后复制
ProcessBuilder
ProcessBuilder 类提供了一种更灵活的方法来创建进程和执行命令。它允许您指定命令、其参数以及其他配置参数(例如工作目录和环境变量)。
用法示例:
ProcessBuilder processBuilder = new ProcessBuilder("dir", "/w"); Process process = processBuilder.start();
登录后复制
流处理
执行命令后,您可以使用以下流来获取进程的输出和错误信息:
- Process.getInputStream() – 标准输出
- Process.getErrorStream() – 标准错误输出
用法示例:
InputStream stdout = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(stdout)); while ((line = reader.readLine()) != null) { System.out.println(line); }
登录后复制
示例
以下是如何使用 Runtime.exec() 方法在 Java 中执行 “dir” 命令:
import java.io.IOException; public class ExecuteCmd { public static void main(String[] args) { try { Process process = Runtime.getRuntime().exec("dir"); InputStream stdout = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(stdout)); while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }
登录后复制