Java PushbackInputStream类

【Java PushbackInputStream类】Java PushbackInputStream类重写InputStream并为另一个输入流提供额外的功能。它可以取消读取已读取的字节, 然后将其推回一个字节。
类声明
让我们看一下java.io.PushbackInputStream类的声明:

public class PushbackInputStream extends FilterInputStream

类方法
It is used to test if the input stream support mark and reset method.
方法 描述
int available() 它用于返回可以从输入流读取的字节数。
int read() 它用于从输入流中读取下一个数据字节。
boolean markSupported()
void mark(int readlimit) 它用于标记输入流中的当前位置。
long skip(long x) 它用于跳过和丢弃x字节的数据。
void unread(int b) 它用于通过将字节复制到推回缓冲区来推回该字节。
void unread(byte[] b) 它用于通过将字节数组复制到推回缓冲区来推回该字节数组。
void reset() 用于重置输入流。
void close() 它用于关闭输入流。
PushbackInputStream类的示例
import java.io.*; public class InputStreamExample { public static void main(String[] args)throws Exception{ String srg = "1##2#34###12"; byte ary[] = srg.getBytes(); ByteArrayInputStream array = new ByteArrayInputStream(ary); PushbackInputStream push = new PushbackInputStream(array); int i; while( (i = push.read())!= -1) { if(i == '#') { int j; if( (j = push.read()) == '#'){ System.out.print("**"); }else { push.unread(j); System.out.print((char)i); } }else { System.out.print((char)i); } } } }

输出:
1**2#34**#12

    推荐阅读