Java教程-Java PushbackReader类

Java PushbackReader类
Java PushbackReader类是一个字符流读取器。它用于将一个字符推回流中,并覆盖了FilterReader类。
类声明
让我们来看一下java.io.PushbackReader类的声明:
public class PushbackReader extends FilterReader
类方法
Method | Description |
---|---|
int read() | 它用于读取单个字符。 |
void mark(int readAheadLimit) | 它用于标记流中的当前位置。 |
boolean ready() | 它用于判断流是否已准备好被读取。 |
boolean markSupported() | 它用于判断流是否支持 mark() 操作。 |
long skip(long n) | 它用于跳过字符。 |
void unread (int c) | 它用于通过将字符复制到推回缓冲区来推回字符。 |
void unread (char[] cbuf) | 它用于通过将字符数组复制到推回缓冲区来推回字符数组。 |
void reset() | 它用于重置流。 |
void close() | 它用于关闭流。 |
PushbackReader类的示例
import java.io.*;
public class ReaderExample{
public static void main(String[] args) throws Exception {
char ary[] = {'1','-','-','2','-','3','4','-','-','-','5','6'};
CharArrayReader reader = new CharArrayReader(ary);
PushbackReader push = new PushbackReader(reader);
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#*-56