在 Java 中,可以使用 ProcessBuilder 类来执行 Linux 命令并返回结果。下面是一个示例代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ExecuteCommand {
    public static void main(String[] args) {
        String command = "ls -l";

        try {
            // 创建进程构建器,并设置要执行的命令
            ProcessBuilder processBuilder = new ProcessBuilder(command.split(" "));
            // 设置工作目录(可选)
            processBuilder.directory("/path/to/directory");

            // 启动进程
            Process process = processBuilder.start();

            // 获取命令执行结果
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            StringBuilder output = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                output.append(line).append("\n");
            }

            // 等待命令执行完毕
            int exitCode = process.waitFor();

            // 打印命令执行结果
            if (exitCode == 0) {
                System.out.println("Command executed successfully");
                System.out.println("Output:
" + output.toString());
            } else {
                System.out.println("Command execution failed");
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们使用 ProcessBuilder 类创建一个进程构建器,并通过 start() 方法启动进程。然后,我们使用 BufferedReader 从进程的输入流中读取命令执行结果。最后,我们使用 waitFor() 方法等待命令执行完毕,并获取命令的退出码来判断命令是否执行成功。

Java 执行 Linux 命令并获取结果:ProcessBuilder 使用指南

原文地址: https://www.cveoy.top/t/topic/o9Ib 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录