<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    csusky

    常用鏈接

    統計

    最新評論

    org.apache.lucene.store.RAMInputStream

    該類是從RAMFile中讀數據用的
    最重要的一個方法:
    該方法存在著從RAMFile的多個byte[1024]中讀取數據的情況,所以應該在循環中進行處理

     public void readInternal(byte[] dest, int destOffset, int len) {
        int remainder = len;
        int start = pointer;
        while (remainder != 0) {
          int bufferNumber = start/BUFFER_SIZE; //  buffer的序號
          int bufferOffset = start%BUFFER_SIZE; //    buffer偏移量
          int bytesInBuffer = BUFFER_SIZE - bufferOffset;// 在當前buffer中剩下的字節數
          //如果緩沖區中剩余的字節大于len,則讀出len長度的字節,如果不夠則讀出剩余的字節數
          // bytesToCopy表示實際讀出的字節數
          int bytesToCopy = bytesInBuffer >= remainder ? remainder : bytesInBuffer;
          byte[] buffer = (byte[])file.buffers.elementAt(bufferNumber);
          System.arraycopy(buffer, bufferOffset, dest, destOffset, bytesToCopy);
          destOffset += bytesToCopy;       //增加已經復制的byte數據長度 到  dest中的偏移量
          start += bytesToCopy;                 //RAMFile文件指針,用來確定bufferNumber 和bytesInBuffer   相當于內存中的分頁
          remainder -= bytesToCopy;       //剩余的還未復制的字節數
        }
        pointer += len;//文件指針位置
      }

    posted on 2008-04-18 11:45 曉宇 閱讀(225) 評論(0)  編輯  收藏 所屬分類: LUCENE

    主站蜘蛛池模板: 全部免费毛片在线| 成人免费在线视频| 亚洲中文字幕无码不卡电影| 免费福利资源站在线视频| 成人黄动漫画免费网站视频 | 精品久久久久久无码免费| 免费一级毛片在播放视频| 爱情岛论坛亚洲品质自拍视频网站 | 毛片免费全部播放一级| 亚洲情A成黄在线观看动漫软件 | 一级大黄美女免费播放| 中文字幕久久亚洲一区| 99久久免费国产精品热| 久久丫精品国产亚洲av不卡| 一区二区在线免费观看| 亚洲国产精品乱码在线观看97| 日本视频一区在线观看免费| 2020亚洲男人天堂精品| 韩国欧洲一级毛片免费| 一级A毛片免费观看久久精品| 国产成人麻豆亚洲综合无码精品| 国产麻豆一精品一AV一免费| 老司机亚洲精品影院| 成年女人免费v片| 日韩大片在线永久免费观看网站| 亚洲综合日韩久久成人AV| 1000部啪啪毛片免费看| 亚洲熟妇AV日韩熟妇在线| 亚洲成av人在片观看| 18禁在线无遮挡免费观看网站| 亚洲视频在线观看| 在线观看免费成人| a毛片在线免费观看| 亚洲精品亚洲人成在线观看麻豆| 日本免费一区尤物| a级毛片毛片免费观看久潮 | 亚洲午夜电影在线观看| 在线观看免费国产视频| 久久国产精品免费观看| 亚洲美国产亚洲AV| 亚洲AV无码成人专区片在线观看|