【发布时间】:2020-09-01 09:37:13
【问题描述】:
我有一个控制台-Java 游戏。如果按下Ctrl+C,游戏得分将保存在 JSON 文件中。将分数保存在 JSON 文件中的过程有效。但我不知道,如何从控制台检测Ctrl+C,如果发生这种情况,我会保存分数(只是一个方法调用)。
使用 KeyListener 它不能在控制台上工作(据我所知,只有 JFrame)。
我在互联网上找不到解决问题的方法。
我必须使用 Runtime 吗?我试过了,还是不行……
Runtime.getRuntime().addShutdownHook(new Thread()
{
public void run()
{
Test.mainThread.interrupt();
}
});
Stackoverflow 上有类似的问题,但不适用于控制台Catching Ctrl+C in Java
【问题讨论】:
-
也许这个答案会对你有所帮助:stackoverflow.com/questions/18037576/…
-
我试过了,但是没用请详细点。你的关机钩子没有运行吗?它运行但抛出异常了吗?它是否无一例外地运行,但没有按照您的意愿运行?
-
没有任何效果,甚至没有消息。但我也不知道该怎么做......但我会看看来自@KrzysztofCichocki 的链接
标签: java command-line-interface control-c