Java IO _回退流

1.掌握回退流的工作原理

2.使用PushbackInputStream 类完成回退操作

回退:给了用户第二次读的机会。

Java IO _回退流_第1张图片

使用InputStream 要使用read() 方法不断读取,是采用顺序的读取方式。

Java IO _回退流_第2张图片

回退操作同样分为字节流和字符流,本教程还是以字节流为准。

Java IO _回退流_第3张图片

对于回退操作来说,提供了三个unread() 的操作方法,这三个操作方法与InputStream 类中的read() 方法是一一对应的。

内存中使用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) ;	// 输出内容
			}
		}
	}
};
总结:

1、掌握回退流的工作原理即可,用到的时候再详细使用即可。

你可能感兴趣的:(java,exception,IO,String,null,import)