閱讀25 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java IO--回退流PushbackInputStream

回退流:


使用InputStream要使用read()方法不斷讀取,是采用順序的讀取方式。

回退流的操作機製:

回退操作同樣分為字節流和字符流,下麵以字節流舉例

PushbackInputStream類常用方法:


對於回退操作來說,提供了三個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) ;	// 輸出內容
			}
		}
	}
};


最後更新:2017-04-03 14:54:18

  上一篇:go Java刪除文件夾和文件
  下一篇:go 技術人員談管理之采購管理案例論文