Java

java exec 输出结果如何获取

小樊
82
2024-12-03 08:31:11
栏目: 编程语言

在Java中,你可以使用ProcessBuilderProcess类来执行外部命令并获取输出结果。以下是一个简单的示例:

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替换为你要执行的外部命令,将arg1arg2替换为相应的参数。这个示例将执行命令并获取其输出结果,然后将其打印到控制台。注意,这个示例仅适用于Unix/Linux系统。如果你使用的是Windows系统,请将命令和参数更改为适用于Windows的命令和参数。

0
看了该问题的人还看了