Class BufferKit

java.lang.Object
org.miaixz.bus.core.xyz.BufferKit

public class BufferKit extends Object
ByteBufferCharBuffer工具类 此工具来自于 t-io 项目以及其它项目的相关部分收集 ByteBuffer的相关介绍见:https://www.cnblogs.com/ruber/p/6857159.html
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • BufferKit

      public BufferKit()
  • Method Details

    • toBytes

      public static byte[] toBytes(ByteBuffer bytebuffer)
      ByteBuffer 转byte数组
      Parameters:
      bytebuffer - ByteBuffer
      Returns:
      byte数组
    • copy

      public static ByteBuffer copy(ByteBuffer src, int start, int end)
      拷贝到一个新的ByteBuffer
      Parameters:
      src - 源ByteBuffer
      start - 起始位置(包括)
      end - 结束位置(不包括)
      Returns:
      新的ByteBuffer
    • copy

      public static ByteBuffer copy(ByteBuffer src, ByteBuffer dest)
      拷贝ByteBuffer
      Parameters:
      src - 源ByteBuffer
      dest - 目标ByteBuffer
      Returns:
      目标ByteBuffer
    • copy

      public static ByteBuffer copy(ByteBuffer src, ByteBuffer dest, int length)
      拷贝ByteBuffer
      Parameters:
      src - 源ByteBuffer
      dest - 目标ByteBuffer
      length - 长度
      Returns:
      目标ByteBuffer
    • copy

      public static ByteBuffer copy(ByteBuffer src, int srcStart, ByteBuffer dest, int destStart, int length)
      拷贝ByteBuffer
      Parameters:
      src - 源ByteBuffer
      srcStart - 源开始的位置
      dest - 目标ByteBuffer
      destStart - 目标开始的位置
      length - 长度
      Returns:
      目标ByteBuffer
    • readString

      public static String readString(ByteBuffer buffer)
      读取剩余部分并转为UTF-8编码字符串
      Parameters:
      buffer - ByteBuffer
      Returns:
      字符串
    • readString

      public static String readString(ByteBuffer buffer, Charset charset)
      读取剩余部分并转为字符串
      Parameters:
      buffer - ByteBuffer
      charset - 编码
      Returns:
      字符串
    • readBytes

      public static byte[] readBytes(ByteBuffer buffer)
      读取剩余部分bytes
      Parameters:
      buffer - ByteBuffer
      Returns:
      bytes
    • readBytes

      public static byte[] readBytes(ByteBuffer buffer, int maxLength)
      读取指定长度的bytes 如果长度不足,则读取剩余部分,此时buffer必须为读模式
      Parameters:
      buffer - ByteBuffer
      maxLength - 最大长度
      Returns:
      bytes
    • readBytes

      public static byte[] readBytes(ByteBuffer buffer, int start, int end)
      读取指定区间的数据
      Parameters:
      buffer - ByteBuffer
      start - 开始位置
      end - 结束位置
      Returns:
      bytes
    • lineEnd

      public static int lineEnd(ByteBuffer buffer)
      一行的末尾位置,查找位置时位移ByteBuffer到结束位置
      Parameters:
      buffer - ByteBuffer
      Returns:
      末尾位置,未找到或达到最大长度返回-1
    • lineEnd

      public static int lineEnd(ByteBuffer buffer, int maxLength)
      一行的末尾位置,查找位置时位移ByteBuffer到结束位置 支持的换行符如下:
       1. \r\n
       2. \n
       
      Parameters:
      buffer - ByteBuffer
      maxLength - 读取最大长度
      Returns:
      末尾位置,未找到或达到最大长度返回-1
    • readLine

      public static String readLine(ByteBuffer buffer, Charset charset)
      读取一行,如果buffer中最后一部分并非完整一行,则返回null 支持的换行符如下:
       1. \r\n
       2. \n
       
      Parameters:
      buffer - ByteBuffer
      charset - 编码
      Returns:
      一行
    • of

      public static ByteBuffer of(byte[] data)
      创建新Buffer
      Parameters:
      data - 数据
      Returns:
      ByteBuffer
    • of

      public static ByteBuffer of(CharSequence data, Charset charset)
      从字符串创建新Buffer
      Parameters:
      data - 数据
      charset - 编码
      Returns:
      ByteBuffer
    • ofCharBuffer

      public static CharBuffer ofCharBuffer(int capacity)
      Parameters:
      capacity - 容量
      Returns:
      CharBuffer