inputStream類中的mark()方法含義

2021-08-03 08:00:14 字數 627 閱讀 1199

mark就像書籤一樣,在這個bufferedreader對應的buffer裡作個標記,以後再呼叫reset時就可以再回到這個mark過的地方。mark方法有個引數,通過這個整型引數,你告訴系統,希望在讀出這麼多個字元之前,這個mark保持有效。讀過這麼多字元之後,系統可以使mark不再有效,而你不能覺得奇怪或怪罪它。這跟buffer有關,如果你需要很長的距離,那麼系統就必須分配很大的buffer來保持你的mark。     

//eg.     

//reader       is       a       bufferedreader     

reader.mark(50);//要求在50個字元之內,這個mark應該保持有效,系統會保證buffer至少可以儲存50個字元     

int       a       =       reader.read();//讀了乙個字元     

int       b       =       reader.read();//又讀了乙個字元     

//做了某些處理,發現需要再讀一次     

reader.reset();     

reader.read();//讀到的字元和a相同     

reader.read();//讀到的字元和b相同

從InputStream中讀取特定長度的資料

public static final int read buffer size 1024 讀取流中的字元到陣列 param in 該方法執行完成不會關閉流 param limit 讀取大小限制 return throws ioexception public static byte readstr...

運算元據類m

using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.data.sqlclient 造連線物件 sqlco...

通過InputStream讀取檔案的常見用法

從classpath根目錄下載入指定名稱的檔案 inputstream inputstream1 this getclass getclassloader getresourceasstream helloworld.zip 從當前包下載入指定名稱的檔案 inputstream inputstrea...