在Java中,你可以使用ProcessBuilder
和Process
类来执行外部命令并获取输出结果。以下是一个简单的示例:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ExecExample { public static void main(String[] args) { try { // 创建一个ProcessBuilder对象,传入要执行的命令和参数 ProcessBuilder processBuilder = new ProcessBuilder("your_command", "arg1", "arg2"); // 启动进程 Process process = processBuilder.start(); // 获取命令的输出流 InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream()); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // 读取命令的输出结果 String line; StringBuilder output = new StringBuilder(); while ((line = bufferedReader.readLine()) != null) { output.append(line).append("\n"); } // 关闭流 bufferedReader.close(); inputStreamReader.close(); // 等待进程执行完成 int exitCode = process.waitFor(); System.out.println("Command executed with exit code: " + exitCode); // 输出命令的结果 System.out.println("Output: " + output.toString()); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
请将your_command
替换为你要执行的外部命令,将arg1
和arg2
替换为相应的参数。这个示例将执行命令并获取其输出结果,然后将其打印到控制台。注意,这个示例仅适用于Unix/Linux系统。如果你使用的是Windows系统,请将命令和参数更改为适用于Windows的命令和参数。