> 文章列表 > cmd执行java程序

cmd执行java程序

cmd执行java程序

在Java中执行CMD命令,可以使用`Runtime`类或`ProcessBuilder`类。以下是两种方法的示例代码:

方法1:使用Runtime类

```javaimport java.io.BufferedReader;import java.io.InputStreamReader;public class RunCmdCommand { public static void main(String[] args) { try { String command = \"cmd.exe /c dir\"; // 这里可以替换为你想要运行的命令 Process process = Runtime.getRuntime().exec(command); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } process.waitFor(); reader.close(); } catch (Exception e) { e.printStackTrace(); } }}```

方法2:使用ProcessBuilder类

```javaimport java.io.BufferedReader;import java.io.File;import java.io.InputStreamReader;public class Cmd { public static void main(String[] args) { try { ProcessBuilder pb = new ProcessBuilder(\"cmd.exe\", \"/c\", \"dir\"); // 这里可以替换为你想要运行的命令 Process process = pb.start(); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } process.waitFor(); reader.close(); } catch (Exception e) { e.printStackTrace(); } }}```

解释

1. 使用Runtime类 :

`Runtime.getRuntime().exec(command)`:执行指定的命令。

`BufferedReader`用于读取命令的输出。

`process.waitFor()`:等待命令执行完成。

2. 使用ProcessBuilder类 :

`ProcessBuilder pb = new ProcessBuilder(\"cmd.exe\", \"/c\", \"dir\")`:创建一个`ProcessBuilder`对象,并设置要执行的命令。

`process.start()`:启动进程。

`BufferedReader`用于读取命令的输出。

`process.waitFor()`:等待命令执行完成。

注意事项

确保命令字符串正确,否则可能会导致执行失败。

如果需要处理命令的输出,建议使用`BufferedReader`读取输出流。

如果需要获取命令的退出代码,可以使用`process.waitFor()`方法。

通过以上方法,你可以在Java中成功执行CMD命令。

其他小伙伴的相似问题:

如何在Java中执行exe文件而不是cmd?

如何在Java中执行自定义的CMD命令?

Java中如何读取CMD的输出结果?