Package org.miaixz.bus.core.xyz
Class BufferKit
java.lang.Object
org.miaixz.bus.core.xyz.BufferKit
ByteBuffer 、CharBuffer工具类
此工具来自于 t-io 项目以及其它项目的相关部分收集
ByteBuffer的相关介绍见:https://www.cnblogs.com/ruber/p/6857159.html- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ByteBuffercopy(ByteBuffer src, int start, int end) 拷贝到一个新的ByteBufferstatic ByteBuffercopy(ByteBuffer src, int srcStart, ByteBuffer dest, int destStart, int length) 拷贝ByteBufferstatic ByteBuffercopy(ByteBuffer src, ByteBuffer dest) 拷贝ByteBufferstatic ByteBuffercopy(ByteBuffer src, ByteBuffer dest, int length) 拷贝ByteBufferstatic intlineEnd(ByteBuffer buffer) 一行的末尾位置,查找位置时位移ByteBuffer到结束位置static intlineEnd(ByteBuffer buffer, int maxLength) 一行的末尾位置,查找位置时位移ByteBuffer到结束位置 支持的换行符如下:static ByteBufferof(byte[] data) 创建新Bufferstatic ByteBufferof(CharSequence data, Charset charset) 从字符串创建新Bufferstatic CharBufferofCharBuffer(int capacity) static byte[]readBytes(ByteBuffer buffer) 读取剩余部分bytesstatic byte[]readBytes(ByteBuffer buffer, int maxLength) 读取指定长度的bytes 如果长度不足,则读取剩余部分,此时buffer必须为读模式static byte[]readBytes(ByteBuffer buffer, int start, int end) 读取指定区间的数据static StringreadLine(ByteBuffer buffer, Charset charset) 读取一行,如果buffer中最后一部分并非完整一行,则返回null 支持的换行符如下:static StringreadString(ByteBuffer buffer) 读取剩余部分并转为UTF-8编码字符串static StringreadString(ByteBuffer buffer, Charset charset) 读取剩余部分并转为字符串static byte[]toBytes(ByteBuffer bytebuffer) ByteBuffer转byte数组
-
Constructor Details
-
BufferKit
public BufferKit()
-
-
Method Details
-
toBytes
ByteBuffer转byte数组- Parameters:
bytebuffer-ByteBuffer- Returns:
- byte数组
-
copy
拷贝到一个新的ByteBuffer- Parameters:
src- 源ByteBufferstart- 起始位置(包括)end- 结束位置(不包括)- Returns:
- 新的ByteBuffer
-
copy
拷贝ByteBuffer- Parameters:
src- 源ByteBufferdest- 目标ByteBuffer- Returns:
- 目标ByteBuffer
-
copy
拷贝ByteBuffer- Parameters:
src- 源ByteBufferdest- 目标ByteBufferlength- 长度- Returns:
- 目标ByteBuffer
-
copy
public static ByteBuffer copy(ByteBuffer src, int srcStart, ByteBuffer dest, int destStart, int length) 拷贝ByteBuffer- Parameters:
src- 源ByteBuffersrcStart- 源开始的位置dest- 目标ByteBufferdestStart- 目标开始的位置length- 长度- Returns:
- 目标ByteBuffer
-
readString
读取剩余部分并转为UTF-8编码字符串- Parameters:
buffer- ByteBuffer- Returns:
- 字符串
-
readString
读取剩余部分并转为字符串- Parameters:
buffer- ByteBuffercharset- 编码- Returns:
- 字符串
-
readBytes
读取剩余部分bytes- Parameters:
buffer- ByteBuffer- Returns:
- bytes
-
readBytes
读取指定长度的bytes 如果长度不足,则读取剩余部分,此时buffer必须为读模式- Parameters:
buffer- ByteBuffermaxLength- 最大长度- Returns:
- bytes
-
readBytes
读取指定区间的数据- Parameters:
buffer-ByteBufferstart- 开始位置end- 结束位置- Returns:
- bytes
-
lineEnd
一行的末尾位置,查找位置时位移ByteBuffer到结束位置- Parameters:
buffer-ByteBuffer- Returns:
- 末尾位置,未找到或达到最大长度返回-1
-
lineEnd
一行的末尾位置,查找位置时位移ByteBuffer到结束位置 支持的换行符如下:1. \r\n 2. \n
- Parameters:
buffer-ByteBuffermaxLength- 读取最大长度- Returns:
- 末尾位置,未找到或达到最大长度返回-1
-
readLine
读取一行,如果buffer中最后一部分并非完整一行,则返回null 支持的换行符如下:1. \r\n 2. \n
- Parameters:
buffer- ByteBuffercharset- 编码- Returns:
- 一行
-
of
创建新Buffer- Parameters:
data- 数据- Returns:
ByteBuffer
-
of
从字符串创建新Buffer- Parameters:
data- 数据charset- 编码- Returns:
ByteBuffer
-
ofCharBuffer
- Parameters:
capacity- 容量- Returns:
CharBuffer
-