Java控制台应用程序清理

Java控制台应用程序清理,java,console,Java,Console,我有一个游戏机器人,它通过控制台运行。我不认为我会为它编写gui,但我希望有可能在不使用CTRL+C的情况下关闭程序,因为这会中断我的程序,而不是正确地清理代码并确保没有泄漏 我应该使用som类型的键绑定还是绑定到GUI? 或者我该怎么做 我想这就是a的作用 我想这就是a的作用 大卫的回答很好。这很可能对你有用 我通常不希望故意中止一个进程,然后检测到它正在下降,以避免挂起的操作。所以我可能会做更多类似的事情: 您是否正在处理输入的控制台输入?如果是这样的话,您可以只使用一个控制台命令,告诉应用

我有一个游戏机器人,它通过控制台运行。我不认为我会为它编写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"); 
    }
});