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