BufferedReader,检测是否还有文本要读取

use*_*831 5 java bufferedreader java-io

我正在运行一个线程,并且每次运行时都应该检查是否有新行要从中读取,BufferedReader但是它会等待一条线存在,从而停止整个代码.

if((inputLine = bufferedReader.readLine()) != null){
                System.out.println(inputLine);
                JOptionPane.showMessageDialog(null, inputLine);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法更好地检查是否有文本BufferedReader要读取?

Kei*_*all 5

不,没有简单的方法可以做到这一点。 BufferedReader有一个ready电话,但这仅适用于read电话,而不适用于readLine电话。如果你真的想要一个readLine保证不会阻塞的,你必须自己使用read和维护char缓冲区来实现它。