nio缓冲类中limit()的用法是什么

时间:2014-04-07 02:51:38

标签: java nio

nio缓冲区类有两个字段:

  

缓冲区的容量是它包含的元素数。该   缓冲区的容量永远不会消极,永远不会改变。

     

缓冲区的限制是第一个不应该的元素的索引   读或写。缓冲区的限制永远不会消极,永远不会   超过其容量。

限制的用途是什么?

3 个答案:

答案 0 :(得分:1)

限制是缓冲区中的当前数据量,或者可用空间的末尾,具体取决于您是在写还是正在读取。容量是缓冲区可以包含的最大数据量。

答案 1 :(得分:1)

当您写入缓冲区时,限制是缓冲区的大小。但是当您翻转缓冲区以从中读取时,限制是将数据写入缓冲区的数量。这里有一个教程:http://tutorials.jenkov.com/java-nio/buffers.html#capacity-position-limit

答案 2 :(得分:1)

缓冲区有三个属性:

  1. 容量
  2. 位置
  3. 限制
  4. 位置和限制的含义取决于缓冲区是处于读取还是写入模式。

    在写入模式下,Buffer的限制是您可以写入缓冲区的数据量的限制。在写入模式下,限制等于缓冲区的容量。

    当将缓冲区翻转为读取模式时,限制意味着您可以从数据中读取的数据量的限制。