Java 如何从正在运行的进程中获得直接输出?
我一直在尝试实时读取命令的控制台输出行,但我只能在进程结束后才能获得它。如何运行命令并在运行时获得输出 这是我目前使用的代码Java 如何从正在运行的进程中获得直接输出?,java,bash,ubuntu,command,Java,Bash,Ubuntu,Command,我一直在尝试实时读取命令的控制台输出行,但我只能在进程结束后才能获得它。如何运行命令并在运行时获得输出 这是我目前使用的代码 public OutputStream executeCommand(String command) { try { ProcessBuilder pb = new ProcessBuilder(command); Process p = pb.start(); OutputStream ops = p.ge
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);
}