2

我有一个控制台 Java 应用程序,它在后台执行一些任务。Java 不支持控制台 kbhit() 来测试键盘缓冲区中是否存在某些内容,并且据我所知,所有控制台读取和测试都处于阻塞状态。

我要做的是用 console.readLine() 之类的东西启动一个后台线程,然后在这个阻塞调用完成后放置一些终止标志。应用程序后台任务会检查这个标志并决定它们是否需要终止。

顺便说一句,我的应用程序将在其工作期间写入控制台(通过 logback 等记录),但从不读取它。

这样的策略好不好?

4

1 回答 1

1

您可以使用System.in.available()>0,但只能从控制台缓冲整行(按回车键后)

于 2011-05-14T23:14:11.697 回答