gpt4 book ai didi

java - Eclipse RCP : Running a system command and print output in custom Console

转载 作者:太空宇宙 更新时间:2023-11-04 13:29:30 25 4
gpt4 key购买 nike

我通过使用以下代码扩展 IOConsole 在 Eclipse 中创建了一个自定义控制台。

IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
IOConsole console = new MyConsole("My Custom Console", null);
consoleManager.addConsoles(new IConsole[] { console });

控制台已正确创建,我可以在 RCP 应用程序中显示的控制台列表中查看该控制台。

我想运行系统命令,并希望实时关联自定义控制台中的输出。我写了下面的代码,但它似乎不起作用。

ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsole[] consoles = plugin.getConsoleManager().getConsoles();
for (IConsole iConsole : consoles) {
if (iConsole instanceof MyConsole) {
console = (MyConsole) iConsole;
break;
}
}
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("mvn --version");
console.setInputStream(process.getInputStream());

有什么建议吗?

最佳答案

您可以使用单独的线程,在其中您可以:

  • 为您使用 IOConsole#newOutputStream()IOConsole 创建一个新的 OutputStream
  • 从正在运行的进程InputStream读取数据,并使用前面提到的outputStream将字节写入控制台,直到进程退出。

关于java - Eclipse RCP : Running a system command and print output in custom Console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32329703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com