Class FastByteBuffer

java.lang.Object
org.miaixz.bus.core.io.buffer.FastByteBuffer

public class FastByteBuffer extends Object
代码移植自blade 快速缓冲,将数据存放在缓冲集中,取代以往的单一数组
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • FastByteBuffer

      public FastByteBuffer()
      构造
    • FastByteBuffer

      public FastByteBuffer(int size)
      构造
      Parameters:
      size - 一个缓冲区的最小字节数
  • Method Details

    • append

      public FastByteBuffer append(byte[] array, int off, int len)
      向快速缓冲加入数据
      Parameters:
      array - 数据
      off - 偏移量
      len - 字节数
      Returns:
      快速缓冲自身 @see FastByteBuffer
    • append

      public FastByteBuffer append(byte[] array)
      向快速缓冲加入数据
      Parameters:
      array - 数据
      Returns:
      快速缓冲自身 @see FastByteBuffer
    • append

      public FastByteBuffer append(byte element)
      向快速缓冲加入一个字节
      Parameters:
      element - 一个字节的数据
      Returns:
      快速缓冲自身 @see FastByteBuffer
    • append

      public FastByteBuffer append(FastByteBuffer buff)
      将另一个快速缓冲加入到自身
      Parameters:
      buff - 快速缓冲
      Returns:
      快速缓冲自身 @see FastByteBuffer
    • size

      public int size()
      长度
      Returns:
      长度
    • isEmpty

      public boolean isEmpty()
      是否为空
      Returns:
      是否为空
    • index

      public int index()
      当前缓冲位于缓冲区的索引位
      Returns:
      currentBufferIndex
    • offset

      public int offset()
      获取当前缓冲偏移量
      Returns:
      当前缓冲偏移量
    • array

      public byte[] array(int index)
      根据索引位返回缓冲集中的缓冲
      Parameters:
      index - 索引位
      Returns:
      缓冲
    • reset

      public void reset()
      复位缓冲
    • toArray

      public byte[] toArray()
      返回快速缓冲中的数据
      Returns:
      快速缓冲中的数据
    • toArrayZeroCopyIfPossible

      public byte[] toArrayZeroCopyIfPossible()
      返回快速缓冲中的数据,如果缓冲区中的数据长度固定,则直接返回原始数组 注意此方法共享数组,不能修改数组内容!
      Returns:
      快速缓冲中的数据
    • toArray

      public byte[] toArray(int start, int len)
      返回快速缓冲中的数据
      Parameters:
      start - 逻辑起始位置
      len - 逻辑字节长
      Returns:
      快速缓冲中的数据
    • get

      public byte get(int index)
      根据索引位返回一个字节
      Parameters:
      index - 索引位
      Returns:
      一个字节