我已编写此代码,使用ProcessBuilder我可以通过操作系统使用的外部命令提示符运行命令。我可以获取返回的数据并使用它。但我的问题是我想向用户显示cmd,因为返回的数据仅在cmd退出时返回。我想让它动态返回,这样用户就可以看到在执行程序时返回的内容。
这将启动cmd并运行命令,但它不会显示实际的cmd ...
我希望显示它或以与cmd中相同的速度返回数据。请帮忙吗?
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "cd " + directoryPath + " && java " + filePathWithoutExtension);
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
consolePane.setText("Output: ");
while (true) {
line = r.readLine();
if (line == null) {
break;
}
consolePane.append("\n" + line);
logPane.append("\n" + line);
}