Package org.aoju.bus.core.toolkit
Class BufferKit
java.lang.Object
org.aoju.bus.core.toolkit.BufferKit
ByteBuffer 工具类 此工具来自于 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 ByteBuffercreate(byte[] data) 创建新Bufferstatic ByteBuffercreate(CharSequence data) 从字符串创建新Buffer,使用UTF-8编码static ByteBuffercreate(CharSequence data, Charset charset) 从字符串创建新Bufferstatic CharBuffercreateCharBuffer(int capacity) static booleanisValidUTF8(ByteBuffer data, int off) 检查提供的BytebBuffer是否包含有效的utf8编码字符串static intlineEnd(ByteBuffer buffer) 一行的末尾位置,查找位置时位移ByteBuffer到结束位置static intlineEnd(ByteBuffer buffer, int maxLength) 一行的末尾位置,查找位置时位移ByteBuffer到结束位置 支持的换行符如下: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) 将字节内容解码为新的字符static StringreadLine(ByteBuffer buffer, Charset charset) 读取一行,如果buffer中最后一部分并非完整一行,则返回null 支持的换行符如下:
-
Constructor Details
-
BufferKit
public BufferKit()
-
-
Method Details
-
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
-
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:
- 一行
-
readLine
将字节内容解码为新的字符- Parameters:
buffer- ByteBuffer- Returns:
- 解码后的字符串信息
-
create
-
create
从字符串创建新Buffer,使用UTF-8编码- Parameters:
data- 数据- Returns:
ByteBuffer
-
create
从字符串创建新Buffer- Parameters:
data- 数据charset- 编码- Returns:
ByteBuffer
-
isValidUTF8
检查提供的BytebBuffer是否包含有效的utf8编码字符串- Parameters:
data- the ByteBufferoff- 偏移量(出于性能原因)- Returns:
- 字节缓冲区是否包含一个有效的utf8编码字符串
-
createCharBuffer
- Parameters:
capacity- 容量- Returns:
CharBuffer
-