如何清空Java控制台?

3
我有一些输出消息在使用webstart启动的应用程序中显示在Java控制台上。有没有一种在代码中清除控制台消息的方法,而不是用户手动清除消息?
这些消息以每秒约1000个的速度打印出来,似乎最终会使用太多内存,虽然我可以停止将其打印到控制台,但要求始终如此。

每秒1000条消息在任何地方(Java控制台、文本区域等)显示都会严重影响性能。并非所有的需求都是有意义的...要反驳! - basszero
如果必要的话,你可以尝试进行系统调用并向控制台窗口发送SendMessage(KeyPressed, 'c')消息(尽管安全管理器可能不允许)。或者也许你可以通过反射做类似的事情。但我认为这样做不值得努力。 - Hosam Aly
1
https://dev59.com/1XA85IYBdhLWcg3wBOzh - Vanuan
2个回答

5

除非您找到控制台类的某个句柄(我怀疑您是否有访问权限),否则您将无法清除该控制台。

您的要求不可避免地要求用户每隔几分钟手动清除控制台。我认为这证明需要重新考虑为什么存在该要求以及是否有其他解决方案来解决您的问题。

您考虑过不同的日志记录方式吗?


1

在我看来,这个需求应该重新讨论。如果这不是一个选择,那么你可以限制输出的数量,因为每秒1000条消息对我来说太多了。

我不知道你是否可以通过编程方式清除控制台。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接