如何从 运行 进程中获得直接输出?

How to get a direct output from a running process?

我一直在尝试实时读取来自命令的控制台输出行,但我只能在进程结束后才能获取它。我如何 运行 一个命令并得到它的输出 运行s?

这是我目前使用的代码

public OutputStream executeCommand(String command) {
    try {
        ProcessBuilder pb = new ProcessBuilder(command);    
        Process p = pb.start();
        OutputStream ops = p.getOutputStream();
        return ops;
    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}

请注意,下面的代码可能会引发 IOException。

Runtime runtime = Runtime.getRuntime() ;
            Process process = runtime.exec("Your command") ;
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())) ;
            String line = null ;
            while ((line = reader.readLine())!= null){
                System.out.println(line);
            }