想要查看此教程的目录请点击:Java IO教程目录贴地址
PushbackInputStream是在你从InputStream解析数据时候使用。有时候在你决定如何处理当前字节之前,你需要提前读几个字节来确定后面的内容是什么。PushbackInputStream可以让你实现上面的操作。实际上,它允许你把字节推回到流中。这些字节会有下次被你重新读取。
PushbackInputStream例子
下面是一个PushbackInputStream的简单例子:
PushbackInputStream input = new PushbackInputStream(
new FileInputStream("c:\\data\\input.txt"));
int data = input.read();
input.unread(data);
调用read()方法和普通InputStream一样。调用unread()方法把字节推回到PushbackInputStream中。下次调用read()方法时被推回的字节首先会被读取。如果你推回多个字节,最后被推回的字节会先被读取,就像栈结构一样。
设置PushbackInputStream的推回限制
你可以在PushbackInputStream的构造方法中设置推回的字节数量。下面是一个例子:
int pushbackLimit = 8;
PushbackInputStream input = new PushbackInputStream(
new FileInputStream("c:\\data\\input.txt"),
pushbackLimit);
例子中设置了一个8字节长度的内部缓冲区。这意味你每次最多能推回8个字节,在你下次读之前。