这段代码的等价物是:
FileReader reader = null;
try
{
reader = new FileReader( file);
return reader.ready();
}
catch( IOException ex)
{
return false;
}
对于SmbFile
?我试过了:
BufferedReader reader = null;
try
{
SmbFileInputStream fstream = new SmbFileInputStream( file);
reader = new BufferedReader( new InputStreamReader( fstream));
return reader.ready();
}
catch( IOException ex)
{
return false;
}
但结果总是“假”。
最佳答案
根据文档,无法保证该标志无法读取,Note that returning false does not guarantee that the next read will block.
您可以尝试这种方式来避免空值,
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
你也可以看看这篇文章,bufferedreader-not-stating-ready-when-it-should
希望这有帮助
关于java - 如何检查 SmbFile 中的流是否已准备好读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45984848/