亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > linux系統中InputStream輸入流的方法之reset()和mark()命令的注意事項

linux系統中InputStream輸入流的方法之reset()和mark()命令的注意事項

熱門標簽:信陽智能外呼系統聯系方式 營業廳外呼系統有錄音嗎 地圖標注和視頻彩鈴制作生意 地圖標注怎么兼職 南通電銷外呼系統排名 南京電銷外呼系統廠家 宿松百度地圖標注 合力億捷外呼系統如何解壓安裝 滁州外呼系統接口對接

  今天寫一個讀寫程序,運用到InputStream的reset方法是發現竟然失敗了,然后查了一下JDK源碼,發現BufferInputStream重寫了父類FilterInputStream的mark和resetf方法,其有支持 mark 和 reset 方法的能力。而FileInputStream則沒有重寫父類InputStream的這兩個方法,其不具有mark和reset方法的能力。

  在JDK源碼中,寫到public synchronized void mark(int readlimit)在該輸入流中標記當前位置。 后續調用 reset 方法重新將流定位于最后標記位置,以便后續讀取能重新讀取相同字節。

  readlimit 參數給出當前輸入流在標記位置變為非法前允許讀取的字節數。

  這句話的意思是說:mark就像書簽一樣,用于標記,以后再調用reset時就可以再回到這個mark過的地方。mark方法有個參數,通過這個整型參數,你告訴系統,希望在讀出這么多個字符之前,這個mark保持有效。比如說mark(10),那么在read()10個以內的字符時,reset()操作后可以重新讀取已經讀出的數據,如果已經讀取的數據超過10個,那reset()操作后,就不能正確讀取以前的數據了,因為此時mark標記已經失效。

  下面是BufferInputStream以及父類FilterInputStream 中這兩個方法的默認實現//FilterInputStream.java

  public synchronized void mark(int readlimit) {in.mark(readlimit);

  }

  public synchronized void reset() throws IOException {in.reset();

  }

  br>public boolean markSupported() {br>    return in.markSupported()br>}

  //BufferedInputStream.java

  public synchronized void mark(int readlimit) {marklimit = readlimit;

  markpos = pos;

  }

  public synchronized void reset() throws IOException {getBufIfOpen(); // Cause exception if closedif (markpos 0)

  throw new IOException("Resetting to invalid mark");pos = markpos;

  }br>br>

  public boolean markSupported() {

  return true;

  } //支持mark操作

  而FileInputStream沒有重寫父類InputStream的默認實現,其默認實現如下:

  //InputStream.java

  public synchronized void mark(int readlimit) {}//空實現什么都沒有實現public synchronized void reset() throws IOException {throw new IOException("mark/reset not supported");}//不支持reset操作

  public boolean markSupported() {

  return false;

  } //不支持mark操作

  下面是一個簡單的程序,用于設置reset和mark.

  import java.io.BufferedInputStream;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.IOException;

  import java.io.InputStream;

  public class TestInputStream {

  public void read(InputStream in) throws IOException {if(in == null) {

  return;

  }

  int len=0;

  in.mark(1);

  in.read() //第一次讀取

  in.reset();//又可以重新讀取

  in.read()//第二次讀取跟第一次讀取結果一樣。因為只讀了一個,沒有超過mark設置的整數。所以mark有效}

  public static void main(String[] args) throws IOException {TestInputStream test = new TestInputStream();String fileName = "F:/Google.txt";

  InputStream in1 = new FileInputStream(new File(fileName));if(!in1.markSupported()) {

  in1 = new BufferedInputStream(in1);

  }

  test.read(in1);

  byte[] buf = new byte[100];

  while(in1.read(buf, 0, buf.length)!=-1) {System.out.println(buf);

  }

  System.out.println("Success!");

  }

  }

  總結:

  mark

  public void mark(int readlimit)

  mark 的常規協定是:如果方法 markSupported 返回 true,那么輸入流總是在調用 mark 之后記錄所有讀取的字節,并時刻準備在調用方法 reset 時(無論何時),再次提供這些相同的字節。但是,如果在調用 reset 之前可以從流中讀取多于 readlimit 的字節,則不需要該流記錄任何數據。

  參數:

  readlimit - 在標記位置失效前可以讀取字節的最大限制。

  4 reset

  public void reset() throws IOException

  將此流重新定位到最后一次對此輸入流調用 mark 方法時的位置。

  reset 的常規協定是:

  1、如果方法 markSupported 返回 true,那么:

  如果創建流以后未調用方法 mark,或最后調用 mark 以后從該流讀取的字節數大于最后調用 mark 時的參數,則可能拋出 IOException。

  如果未拋出這樣的 IOException,則將該流重新設置為這種狀態:最近一次調用 mark 以后(如果未調用過 mark,則從文件開頭開始)讀取的所有字節將重新提供給 read 方法的后續調用者,后跟任何從調用 reset 時起將作為下一輸入數據的字節。

  2、如果方法 markSupported 返回 false,那么:

  對 reset 的調用可能拋出 IOException。

  如果未拋出 IOException,則將該流重新設置為一種固定狀態,該狀態取決于輸入流的特定類型及其創建方式。提供給 read 方法后續調用者的字節取決于特定類型的輸入流。

  除了拋出 IOException 之外,類 InputStream 的方法 reset 不執行任何操作。

  拋出:

  IOException - 如果未標記此流或該標記失效。

  以上就是在linux系統中InputStream輸入流的方法的注意事項,謝謝閱讀,希望能幫到大家,請繼續關注腳本之家,我們會努力分享更多優秀的文章。

標簽:潛江 新余 運城 衢州 銅陵 保定 麗水 山南

巨人網絡通訊聲明:本文標題《linux系統中InputStream輸入流的方法之reset()和mark()命令的注意事項》,本文關鍵詞  linux,系統,中,InputStream,輸入,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux系統中InputStream輸入流的方法之reset()和mark()命令的注意事項》相關的同類信息!
  • 本頁收集關于linux系統中InputStream輸入流的方法之reset()和mark()命令的注意事項的相關信息資訊供網民參考!
  • 推薦文章
    日韩字幕在线| 日韩avdvd| 色综合久久天天综合观看| 欧美激情一区二区三区视频| 欧美激情一区二区三区视频| 精品久久久久久影院免费| 国产福利免费观看| 日韩avdvd| 国产精品123| 成人影院久久久久久影院| 日韩avdvd| 精品国产亚洲人成在线| 尤物视频网站在线| 毛片电影网| 日韩一级黄色| 日韩avdvd| 亚洲 男人 天堂| 国产麻豆精品| 97视频免费在线| 国产亚洲精品aaa大片| 一级毛片看真人在线视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 二级特黄绝大片免费视频大片| 精品视频免费看| 韩国三级香港三级日本三级la| 香蕉视频久久| 日韩在线观看视频黄| 国产91视频网| 国产一级强片在线观看| 日韩一级黄色| 精品视频在线观看一区二区 | 国产伦精品一区二区三区无广告| 日本特黄一级| 欧美激情一区二区三区中文字幕| 国产成人啪精品| 精品视频在线观看一区二区 | 美女免费精品视频在线观看| 国产成人精品在线| 日韩中文字幕在线亚洲一区| 日韩中文字幕在线亚洲一区| 亚洲第一页乱| 一级毛片看真人在线视频| 999久久狠狠免费精品| 欧美激情一区二区三区视频| 日本伦理片网站| 成人免费一级毛片在线播放视频| 尤物视频网站在线| 精品国产亚洲人成在线| 久久久成人影院| 日本伦理片网站| 成人高清护士在线播放| 日韩一级黄色| 精品国产三级a∨在线观看| 日韩avdvd| 一级毛片看真人在线视频| 九九久久99| 亚洲精品影院久久久久久| 国产成人精品在线| 国产一级强片在线观看| 国产成人精品影视| 中文字幕一区二区三区精彩视频 | 国产视频网站在线观看| 久久精品免视看国产明星| 日日夜夜婷婷| 91麻豆高清国产在线播放| 九九久久99| 精品久久久久久影院免费| 日韩在线观看视频黄| 国产一区二区精品| 美女免费精品视频在线观看| 午夜在线影院| 香蕉视频久久| 精品国产三级a∨在线观看| 麻豆网站在线免费观看| 成人高清护士在线播放| 韩国三级香港三级日本三级la| 国产网站在线| 一级女性大黄生活片免费| 国产网站在线| 91麻豆精品国产自产在线| 精品国产一区二区三区国产馆| 韩国三级香港三级日本三级la| 一级片片| 九九久久99| 日韩avdvd| 高清一级片| 精品美女| 黄视频网站免费观看| 欧美日本韩国| 99久久精品国产高清一区二区 | 久久久成人影院| 韩国妈妈的朋友在线播放| 美女免费精品视频在线观看| 久久精品免视看国产明星| 久久国产精品自由自在| 国产91视频网| 一级女性大黄生活片免费| 国产不卡福利| 久久国产一区二区| 九九久久99| 国产伦精品一区二区三区无广告| 999久久狠狠免费精品| 九九免费精品视频| 国产不卡福利| 亚洲爆爽| 毛片电影网| 国产成人精品在线| 精品视频免费看| 国产一区二区精品| 精品美女| 91麻豆高清国产在线播放| 欧美激情一区二区三区中文字幕| 日本免费看视频| 欧美大片a一级毛片视频| 999久久狠狠免费精品| 青青久久精品| 精品国产一区二区三区久久久狼| 99热热久久| 日韩avdvd| 天天做人人爱夜夜爽2020| 国产不卡福利| 沈樵在线观看福利| 国产不卡在线播放| a级精品九九九大片免费看| 日韩一级黄色| 一级片片| 精品视频免费看| 国产亚洲精品aaa大片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品123| 99久久精品国产片| 精品视频在线观看一区二区 | 二级特黄绝大片免费视频大片| 亚洲 欧美 91| 国产福利免费观看| 成人a大片高清在线观看| 欧美大片a一级毛片视频| 日本特黄一级| 一级女性大黄生活片免费| 香蕉视频久久| 亚洲爆爽| 国产亚洲免费观看| 中文字幕一区二区三区精彩视频 | 国产亚洲免费观看| 久久精品免视看国产明星| 国产成a人片在线观看视频| 天天做日日干| 天天做人人爱夜夜爽2020| 999久久狠狠免费精品| 久草免费资源| 美女免费精品视频在线观看| 中文字幕97| 日本特黄一级| 韩国三级香港三级日本三级la| 天天做日日干| 久久福利影视| 国产美女在线观看| 99热精品一区| 久久99青青久久99久久| 欧美一级视频免费| 沈樵在线观看福利| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 91麻豆高清国产在线播放| 国产国语对白一级毛片| 国产综合成人观看在线| 国产伦久视频免费观看 视频 | 日韩avdvd| 国产亚洲免费观看| 国产国语对白一级毛片| 欧美国产日韩在线| 日本伦理片网站| 亚欧视频在线| 四虎影视久久久| 日韩中文字幕在线亚洲一区| 夜夜操天天爽| 欧美a级成人淫片免费看| 美女免费精品视频在线观看| 午夜在线影院| 日韩在线观看视频黄| 一级女性大黄生活片免费| 国产激情一区二区三区| 国产视频一区在线| 黄视频网站免费观看| 国产成人精品在线| 精品视频在线观看一区二区 | 精品视频免费看| 国产美女在线观看| 精品国产三级a∨在线观看| 国产一区二区精品久| 国产伦精品一区二区三区无广告| 97视频免费在线| 99色精品| 一级片片| 精品久久久久久影院免费| 美女免费精品视频在线观看| 国产综合成人观看在线| 欧美一区二区三区在线观看| 久久精品免视看国产明星| 国产成人精品在线| a级精品九九九大片免费看|