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的输出结果?



