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