有没有办法检查BufferedReader
对象中是否有需要读取的内容?就像C++ cin.peek()
一样。谢谢。
发布于 2010-03-26 01:03:50
您可以尝试"boolean ready()“方法。从Java6API文档中可以看出:“如果缓冲区不为空,或者底层字符流准备就绪,则缓冲的字符流已准备就绪。”
BufferedReader r = new BufferedReader(reader);
if(r.ready())
{
r.read();
}
发布于 2010-03-26 01:05:54
您可以使用PushbackReader。使用它,您可以读取一个字符,然后将其取消读取。这本质上允许您将其推回。
PushbackReader pr = new PushbackReader(reader);
char c = (char)pr.read();
// do something to look at c
pr.unread((int)c); //pushes the character back into the buffer
发布于 2010-03-26 01:03:30
下面的代码将查看Stream中的第一个字节。应该可以让你先睹为快。
BufferedReader bReader = new BufferedReader(inputStream);
bReader.mark(1);
int byte1 = bReader.read();
bReader.reset();
https://stackoverflow.com/questions/2517638
复制相似问题