A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庄星睿 中级黑马   /  2012-7-22 23:11  /  1191 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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的异常是怎么回事?
主要是他的原理是什么,我什么时候才能用到推回输入流,求解,最好有详细的实例

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马