Java IO--回退流PushbackInputStream
回退流:

使用InputStream要使用read()方法不断读取,是采用顺序的读取方式。
回退流的操作机制:
回退操作同样分为字节流和字符流,下面以字节流举例
。
。PushbackInputStream类常用方法:

对于回退操作来说,提供了三个unread()的操作方法,这三个操作方法与InputStream类中的read()方法是一一对应的。
内存中使用ByteArrayInputStream,把内容设置到内存之中。
内存中使用ByteArrayInputStream,把内容设置到内存之中。
import java.io.ByteArrayInputStream ;
import java.io.PushbackInputStream ;
public class PushInputStreamDemo{
public static void main(String args[]) throws Exception { // 所有异常抛出
String str = "www.mldnjava.cn" ; // 定义字符串
PushbackInputStream push = null ; // 定义回退流对象
ByteArrayInputStream bai = null ; // 定义内存输入流
bai = new ByteArrayInputStream(str.getBytes()) ; // 实例化内存输入流
push = new PushbackInputStream(bai) ; // 从内存中读取数据
System.out.print("读取之后的数据为:") ;
int temp = 0 ;
while((temp=push.read())!=-1){ // 读取内容
if(temp=='.'){ // 判断是否读取到了“.”
push.unread(temp) ; // 放回到缓冲区之中
temp = push.read() ; // 再读一遍
System.out.print("(退回"+(char)temp+")") ;
}else{
System.out.print((char)temp) ; // 输出内容
}
}
}
};
最后更新:2017-04-03 14:54:18