美文网首页
27. Java IO: PushbackInputStream

27. Java IO: PushbackInputStream

作者: kopshome | 来源:发表于2017-12-04 17:36 被阅读0次

想要查看此教程的目录请点击: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个字节,在你下次读之前。

相关文章

网友评论

      本文标题:27. Java IO: PushbackInputStream

      本文链接:https://www.haomeiwen.com/subject/nfwxixtx.html