java执行shell命令并返回结果

在 Java 中执行 shell 命令并获取其返回结果可以使用 java.lang.Process 类。下面是一个简单的示例:

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

public class ShellCommandExecutor {
    public static void main(String[] args) {
        String command = "ls -la";  // 要执行的 shell 命令

        try {
            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);
            }

            int exitCode = process.waitFor();  // 等待命令执行完毕并获取退出码
            System.out.println("Command exited with code " + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

该程序会执行 ls -la 命令并将结果输出到控制台。如果需要获取命令的标准错误输出,可以使用 process.getErrorStream() 方法获取输入流。另外,process.waitFor() 方法可以等待命令执行完毕并获取其退出码,以便检查命令是否成功执行。

未经允许不得转载:国外服务器评测 » java执行shell命令并返回结果