这是一个灵感来自how to read from standard input non-blocking?的解决方案
这个想法是检查是否有什么要从System.in中读取.
请注意,这仅在输入经过验证(例如使用Enter键)的情况下有效,但即使是空输入(直接按下Enter键)也可以,因此您可以添加一些“按Enter取消”消息.
private static void cancellaaaaaaaaable() throws InterruptedException {
System.out.println("Cancellaaaaaaable!");
System.out.print(ANSI_RED);
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inStream);
for (int i = 0; i < 79; i++) {
System.out.print("█");
TimeUnit.MILLISECONDS.sleep(500);
// Something that allows user input/interaction capable to stop the progressbar
try {
if (bufferedReader.ready()) {
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.print(ANSI_RESET);
}
请注意,例如,您可以使用Java Curses Library执行更高级的控制台操作.
最后
以上就是纯真雪糕最近收集整理的关于java控制台进度_可停止的Java控制台进度栏的全部内容,更多相关java控制台进度_可停止内容请搜索靠谱客的其他文章。
发表评论 取消回复