码迷,mamicode.com
首页 > 编程语言 > 详细

探究java IO之PushbackInputStream类

时间:2014-11-15 10:10:44      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:io   ar   sp   java   on   bs   ad   as   应用   

缓存的新应用之一就是回推(pushback)的实现。回推用于输入流,以允许读取字节,然后再将它们返回(回推)到流中。PushbackInputStream类实现了这一思想,提供了一种机制,可以“偷窥”来自输入流的内容而不对它们进行破坏。

PushbackInputStream类具有以下构造函数:

PushbackInputStream(InputStream inputStream)
PushbackInputStream(InputStream inputStream,int numBytes)

第一种形式创建的流对象允许将一个字节返回到输入流; 第二种形式创建的流对象具有一个长度为numBytes的回推缓存,从而允许将多个字节回推到输入流中。

除了熟悉的来自InputStream的方法外,PushbackInputStream类还提供了unread()方法,如下所示:

void unread(int b)
void unread(byte[] buffer)
void unread(byte[] buffer,int offset,int numBytes)

第一种形式回推b的低字节,这会使得后续的read()调用返回下一个字节。第二种形式回推buffer中的字节。第三种形式回推buffer中从offset开始的numBytes个字节。当回推缓存已满时,如果试图回推字节,就会抛出IOException异常。


探究java IO之PushbackInputStream类

标签:io   ar   sp   java   on   bs   ad   as   应用   

原文地址:http://my.oschina.net/fhd/blog/345011

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!