java - 为用户输入设置超时

标签 java

是否可以为用户输入设置定时器?等待 10 秒 - 进行下一步操作等。 我的意思是例如

 //wait several seconds{
 String s = new BufferedReader(new InputStreamReader(System.in)).readLine();
 //wait server seconds}
 //next operation and etc.

最佳答案

比 Benjamin Cox 的回答更简单的方法是做类似的事情

int x = 2; // wait 2 seconds at most

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
long startTime = System.currentTimeMillis();
while ((System.currentTimeMillis() - startTime) < x * 1000
        && !in.ready()) {
}

if (in.ready()) {
    System.out.println("You entered: " + in.readLine());
} else {
    System.out.println("You did not enter data");
}

然而,这将比他的解决方案消耗更多的资源。

关于java - 为用户输入设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059068/

相关文章:

java - 为什么这段代码运行得这么慢?

Java 控制 Windows 服务器

java - OpenGL形状绘图绕y轴反转?

java - 如何从 http 或 https 请求中获取带有端口的主机名

JAVA将分钟转换为默认时间[hh :mm:ss]

java - java stringtokenizer - 性能

Java:线程间共享和调用变量

Java DecimalFormat 转为 double

java - 如何使用 preparedstatement 获取最后插入的行的 id?

TimetableMainActivity$GetXML.onPostExecute 处的 java.lang.IndexOutOfBoundsException