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(); } } }
登錄后復制