如何从 运行 进程中获得直接输出?
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);
}
我一直在尝试实时读取来自命令的控制台输出行,但我只能在进程结束后才能获取它。我如何 运行 一个命令并得到它的输出 运行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);
}