要解决这个问题,可以使用BufferedReader的ready()方法来检查是否有可以读取的输入。如果没有输入可用,可以使用Thread.sleep()方法暂停一段时间,然后再次检查。
以下是一个示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
while (!reader.ready()) {
// 如果没有输入可用,暂停100毫秒
Thread.sleep(100);
}
String input = reader.readLine();
System.out.println("输入的内容是:" + input);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在这个示例中,使用while循环来检查输入是否可用。如果没有可用的输入,使用Thread.sleep()方法暂停100毫秒。当有输入可用时,使用reader.readLine()方法读取输入。最后,使用try-finally块来确保关闭BufferedReader。