【发布时间】:2012-11-15 18:38:32
【问题描述】:
我正在运行一个线程,每次它运行时,它都应该检查是否有新的行可以从 BufferedReader 读取,尽管它在等待一行存在时卡住了,从而停止了整个代码.
if((inputLine = bufferedReader.readLine()) != null){
System.out.println(inputLine);
JOptionPane.showMessageDialog(null, inputLine);
}
有没有办法更好地检查BufferedReader 中是否有文本可供阅读?
【问题讨论】:
-
为什么?如果没有数据,它将阻塞。你还打算做什么?
-
你试过
BufferedReader#ready()docs.oracle.com/javase/6/docs/api/java/io/…吗? -
我认为
ready()不会满足这种需求。ready()会告诉他缓冲区中是否有东西;它不会告诉他是否有整行要阅读。readLine()还是会进入等待状态吧? -
已修复,谢谢各位
标签: java bufferedreader java-io