Java 什么';检查读卡器是否为空的最佳方法是什么?

Java 什么';检查读卡器是否为空的最佳方法是什么?,java,bufferedreader,is-empty,Java,Bufferedreader,Is Empty,在将读取器传递给某个外部函数之前,我需要检测读取器是否为空(不会产生任何数据) 我能想到的最好办法是将我的读取器包装在缓冲读取器中,它保证提供标记/重置功能,然后在将流重置到其原始位置之前尝试读取单个字符 BufferedReader buffered=新的BufferedReader(myReader); 如果(!isEmpty(缓冲)){ someOtherFunction(缓冲); } 私有布尔值isEmpty(BufferedReader读取器)引发IOException{ 读卡器.标记

在将读取器传递给某个外部函数之前,我需要检测读取器是否为空(不会产生任何数据)

我能想到的最好办法是将我的
读取器
包装在
缓冲读取器
中,它保证提供
标记
/
重置
功能,然后在将流重置到其原始位置之前尝试读取单个字符

BufferedReader buffered=新的BufferedReader(myReader);
如果(!isEmpty(缓冲)){
someOtherFunction(缓冲);
}
私有布尔值isEmpty(BufferedReader读取器)引发IOException{
读卡器.标记(1);
int c=reader.read();
reader.reset();
返回c<0;
}
有更好的方法吗?

使用
ready()
检查流是否可读取

还建议在检查
ready()

告知此流是否已准备好读取。如果缓冲区不为空,或者基础字符流已准备就绪,则缓冲字符流已准备就绪。

注意:

如果保证下一个read()不阻塞输入,则为True,否则为false。请注意,返回false并不保证下一次读取将被阻止

public boolean ready() throws IOException