Buffer中常用(必用)的幾個方法介紹

          首先介紹一下Buffer的使用場景,Buffer是Java NIO中非常重要的一個類,數據在各種Channel的讀寫時都需要這個類來緩沖。
          然而Buffer在讀寫之前需要做一些準備工作,比如:在讀取Buffer里的數據之前要先在Buffer里準備好要讀取數據,往Buffer里寫數據時,要找出Buffer里的空余空間或者要清空Buffer等等。做以上事情方法有:clear(), flip(), rewind().因為我經常記不住這幾個方法的功能,所以在此記錄一下, 也供他人查找。

          Buffer有幾個下標需要注意:position(當前位置), limit(可度/寫數據 下標的最大值), capacity(實際空間)
          1.clear()

          使Buffer為一系列新的通道讀取或相對放置 操作做好準備,即為往Buffer中寫數據做好準備

            public final Buffer clear()
            {
              this.position = 0;
              this.limit = this.capacity;
              this.mark = -1;
              return this;
            }

           2. flip()
          使Buffer為一系列新的通道寫入或相對獲取 操作做好準備:它將限制設置為當前位置,然后將位置設置為 0。即為從Buffer中度數據做好準備

           public final Buffer flip()
            {
              this.limit = this.position;
              this.position = 0;
              this.mark = -1;
              return this;
            }

          3.rewind()
          使緩沖區為重新讀取已包含的數據做好準備:它使限制保持不變,將位置設置為 0。
           public final Buffer rewind()
            {
              this.position = 0;
              this.mark = -1;
              return this;
            }


          Kyle Wang

          posted on 2012-07-21 15:07 王樹東 閱讀(233) 評論(0)  編輯  收藏 所屬分類: Java Skills Learning and Sharing


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          常用鏈接

          留言簿

          隨筆分類(17)

          隨筆檔案(15)

          文章分類(4)

          文章檔案(5)

          收藏夾(4)

          Algorithm

          Design

          Environment Setup

          Installer

          Maven

          MINA

          OS

          Skills for Java

          VIM

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大洼县| 兖州市| 沾益县| 天气| 巴林左旗| 镇巴县| 霍林郭勒市| 义乌市| 仲巴县| 武川县| 芦溪县| 镇康县| 广河县| 布尔津县| 锡林浩特市| 新化县| 黑水县| 象州县| 邛崃市| 崇义县| 土默特左旗| 光泽县| 滦平县| 加查县| 康保县| 万全县| 安龙县| 海城市| 云南省| 威海市| 东乡| 溧水县| 资阳市| 怀仁县| 丰城市| 龙门县| 神木县| 唐山市| 西峡县| 绵竹市| 万州区|