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