Java控制台应用程序清理
我有一个游戏机器人,它通过控制台运行。我不认为我会为它编写gui,但我希望有可能在不使用CTRL+C的情况下关闭程序,因为这会中断我的程序,而不是正确地清理代码并确保没有泄漏 我应该使用som类型的键绑定还是绑定到GUI? 或者我该怎么做 我想这就是a的作用 我想这就是a的作用Java控制台应用程序清理,java,console,Java,Console,我有一个游戏机器人,它通过控制台运行。我不认为我会为它编写gui,但我希望有可能在不使用CTRL+C的情况下关闭程序,因为这会中断我的程序,而不是正确地清理代码并确保没有泄漏 我应该使用som类型的键绑定还是绑定到GUI? 或者我该怎么做 我想这就是a的作用 我想这就是a的作用 大卫的回答很好。这很可能对你有用 我通常不希望故意中止一个进程,然后检测到它正在下降,以避免挂起的操作。所以我可能会做更多类似的事情: 您是否正在处理输入的控制台输入?如果是这样的话,您可以只使用一个控制台命令,告诉应用
大卫的回答很好。这很可能对你有用 我通常不希望故意中止一个进程,然后检测到它正在下降,以避免挂起的操作。所以我可能会做更多类似的事情:
您是否正在处理输入的控制台输入?如果是这样的话,您可以只使用一个控制台命令,告诉应用程序关闭,并在处理控制台输入的任何过程中检查这一点。或者,如果您的意思是应用程序只是在没有用户输入的情况下运行,您可以定期检查控制台缓冲区是否为空(console.reader().ready()),如果不是,请阅读控制台并查看是否是quit命令。David的回答很好。这很可能对你有用 我通常不希望故意中止一个进程,然后检测到它正在下降,以避免挂起的操作。所以我可能会做更多类似的事情:
您是否正在处理输入的控制台输入?如果是这样的话,您可以只使用一个控制台命令,告诉应用程序关闭,并在处理控制台输入的任何过程中检查这一点。或者,如果您的意思是应用程序只是在没有用户输入的情况下运行,您可以定期检查控制台缓冲区是否为空(console.reader().ready()),如果不是,请阅读控制台并查看是否是quit命令。在此处回答?-回答这里好极了。我不知道这件事。谢谢!;)在通过eclipse终止应用程序(在开发过程中)时,您知道这将如何工作吗。我不知道这件事。谢谢!;)在通过eclipse终止应用程序(在开发过程中)时,您知道这将如何工作吗?
Runtime.getRuntime().addShutdownHook( new Thread() {
@Override
public void run() {
System.out.println("Application shutdown");
}
});