PushbackInputStream与PushbackReader他们都有unread()方法,可以将一个字节/字符推回到推回缓冲区里,
两个构造方法:
PushbackInputStream(InputStream in)
PushbackInputStream(InputStream in,int size)
问题一:默认的构造函数,那个推回缓冲区的长度是多少?是1吗
问题二:如果构造是设定了推回缓冲区的长度,这个长度如果小于缓冲区的长度,他读取完推回缓冲区中的数据,还会从输入流里拿数据吗?比如这一设定
PushbackReader pr=new PushbackReader(new FileReader("f:\\io\\b.txt"),32);
char[] buf=new char[64];
int len=0;
while((len=pr.read(buf))>0)
字符缓冲区中是要完64个字符,推回缓冲区只存32个字符,他引发的那个Pushback buffer overflow的异常是怎么回事?
主要是他的原理是什么,我什么时候才能用到推回输入流,求解,最好有详细的实例
|
|