BufferedInputStream mark() 和reset()

 

本文系摘抄:

a.txt 內容 01234567890

 

BufferedInputStream in = new BufferedInputStream(new FileInputStream(

new File("a.txt")),8);

int s = -1;

// String str = "";

int count = 0;

while ((s = in.read()) != -1) {

System.out.print((char) s);

if (count == 4) {

in.mark(12);

break;

}

s = -1;

count++;

}

System.out.println();

in.reset();

while ((s = in.read()) != -1) {

System.out.print((char) s);

}

System.out.println();

in.reset();

while ((s = in.read()) != -1) {

System.out.print((char) s);

}

System.out.println();

 

in.close();

 

 

 

 

 

mark(int readlimit);

在mark後再read,如果讀到的字節數大於BufferedInputStream緩衝區大小,那麼你就再不能回到標記的位置,而readlimit如果大於BufferedInputStream緩衝區大小,那麼BufferedInputStream會重置緩衝大小爲readlimit;

 

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章