我想将程序的输出写入控制台,但在某种程度上控制台似乎被阻止/控制台在功能完成之前甚至没有显示。
这是一些示例代码,它显示了完全相同的行为:
public void startConsole() throws IOException {
long start = System.currentTimeMillis();
MessageConsole console = new MessageConsole("TestConsole", null);
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] {console});
ConsolePlugin.getDefault().getConsoleManager().showConsoleView(console);
MessageConsoleStream stream = console.newMessageStream();
stream.setActivateOnWrite(true);
stream.println("Start: " + (System.currentTimeMillis()-start));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stream.println("End: " + (System.currentTimeMillis()-start));
}
我得到了什么:函数运行了大约一秒钟,我看到了输出(“开始:0\n结束:1000”)
我想要什么:我启动该功能,并看到第一个输出(“开始:0”),一秒钟后,我希望将“结束:1000”添加到控制台。
我如何实现这一目标?