类 Buffer
java.lang.Object
com.weicoder.common.binary.Buffer
- 所有已实现的接口:
ByteArray
类说明:数据包类 ,字节缓存类,字节操作高位在前,低位在后
- 作者:
- WD
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static Bufferallocate(int capacity) 声明个字节缓存byte[]array()获得有效数据array(byte[] b) 把字节数组转换成自己的字段List<byte[]> bytes(int len) 把缓存中数据都读取成byte[]列表void循环读取本身为byte[] 只要有能读取字节就一直循环读取直到读取完成void循环读取本身为byte 只要有能读取字节就一直循环读取直到读取完成voidcapacity(int len) 设置字节缓存的容积,只能扩大容积voidclear()清除字节缓存对象voidcompact()压缩缓冲区 抛弃以读数据 并把容量截取到写坐标doubles()把缓存中数据都读取成Double列表void循环读取本身为Double 只要有能读取字节就一直循环读取直到读取完成static Bufferempty()获得一个空字节缓存floats()把缓存中数据都读取成Float列表void循环读取本身为Float 只要有能读取字节就一直循环读取直到读取完成void循环读取本身 只要有能读取字节就一直循环读取直到读取完成voidhandle()自处理方法 如果还能读取则压缩compact否则清除clearbooleanhas()是否还有任何一个可读字节ints()把缓存中数据都读取成int列表void循环读取本身为Int 只要有能读取字节就一直循环读取直到读取完成intlength()得到字节数组的长度longs()把缓存中数据都读取成long列表void循环读取本身为Long 只要有能读取字节就一直循环读取直到读取完成intoffset()得到读数据的偏移量voidoffset(int offset) 设置读数据的偏移量byte[]read(byte[] data) 按当前偏移位置读入指定的字节数组byte[]read(byte[] data, int pos, int len) 按当前偏移位置读入指定的字节数组byte[]read(int len) 按当前偏移位置读入指定的长度的字节数组boolean读出一个布尔值bytereadByte()读出一个字节charreadChar()读出一个字符double读出一个双浮点数值float读出一个浮点数值intreadInt()读出一个整型数值longreadLong()读出一个长整型数值short读出一个短整型数值读出一个字符串,长度不超过65534readString(int len) 读出一个指定长度的字符串intremain()剩余多少可读字节==写偏移量-读偏移量得差值voidreset()重置缓存到头voidreset(int n) 重置n位缓存shorts()把缓存中数据都读取成short列表void循环读取本身为Short 只要有能读取字节就一直循环读取直到读取完成inttop()得到写字节的偏移量voidtop(int top) 设置写字节的偏移量toString()static Bufferwrap(byte[] array) 根据传入的字节数组获得字节缓存static Bufferwrap(byte[] array, int offset, int length) 根据传入的字节数组获得字节缓存byte[]write(byte[] data) 写入指定字节数组byte[]write(byte[] data, int pos, int len) 写入指定字节数组voidwriteBoolean(boolean b) 写入一个布尔值voidwriteByte(byte b) 写入一个字节voidwriteChar(char c) 写入一个字符voidwriteDouble(double d) 写入一个双浮点数值voidwriteFloat(float f) 写入一个浮点数值voidwriteInt(int i) 写入一个整型数值voidwriteInt(int i, int pos) 在指定位置写入一个整型数值,length不变voidwriteLong(long l) 写入一个长整型数值voidwriteLong(long l, int pos) 写入一个长整型数值voidwriteShort(int i) 写入一个短整型数值voidwriteShort(short s) 写入一个短整型数值voidwriteShort(short s, int pos) 在指定位置写入一个短整型数值,length不变void写入一个字符串,可以为null
-
构造器详细资料
-
Buffer
public Buffer()按默认的大小构造一个字节缓存对象 -
Buffer
public Buffer(boolean sync) 按默认的大小构造一个字节缓存对象- 参数:
sync- 是否线程安全
-
Buffer
public Buffer(int capacity, boolean sync) 按指定的大小构造一个字节缓存对象- 参数:
capacity- 初始容量sync- 是否线程安全
-
Buffer
public Buffer(byte[] data) 按指定的字节数组构造一个字节缓存对象- 参数:
data- 初始化数组
-
Buffer
public Buffer(byte[] data, boolean sync) 按指定的字节数组构造一个字节缓存对象- 参数:
data- 初始化数组sync- 是否线程安全
-
Buffer
public Buffer(byte[] data, int index, int length, boolean sync) 按指定的字节数组构造一个字节缓存对象- 参数:
data- 初始化数组index- 读索引length- 写索引sync- 是否线程安全
-
-
方法详细资料
-
allocate
声明个字节缓存- 参数:
capacity- 缓存容量- 返回:
- 字节缓存
-
wrap
根据传入的字节数组获得字节缓存- 参数:
array- 字节数组- 返回:
- 字节缓存
-
wrap
根据传入的字节数组获得字节缓存- 参数:
array- 字节数组offset- 开始的偏移length- 数组长度- 返回:
- 字节缓存
-
empty
获得一个空字节缓存- 返回:
- 空字节缓存
-
capacity
public void capacity(int len) 设置字节缓存的容积,只能扩大容积- 参数:
len- 长度
-
top
public int top()得到写字节的偏移量- 返回:
- 偏移
-
top
public void top(int top) 设置写字节的偏移量- 参数:
top- 偏移
-
offset
public int offset()得到读数据的偏移量- 返回:
- 偏移
-
offset
public void offset(int offset) 设置读数据的偏移量- 参数:
offset- 偏移
-
reset
public void reset()重置缓存到头 -
reset
public void reset(int n) 重置n位缓存- 参数:
n- 重置多少位
-
remain
public int remain()剩余多少可读字节==写偏移量-读偏移量得差值- 返回:
- 剩余字节
-
has
public boolean has()是否还有任何一个可读字节- 返回:
- 是否可读
-
forEach
循环读取本身 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
longs
循环读取本身为Long 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
longs
把缓存中数据都读取成long列表- 返回:
- 列表
-
ints
循环读取本身为Int 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
ints
把缓存中数据都读取成int列表- 返回:
- 列表
-
shorts
循环读取本身为Short 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
shorts
把缓存中数据都读取成short列表- 返回:
- 列表
-
floats
循环读取本身为Float 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
floats
把缓存中数据都读取成Float列表- 返回:
- 列表
-
doubles
循环读取本身为Double 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
doubles
把缓存中数据都读取成Double列表- 返回:
- 列表
-
bytes
循环读取本身为byte[] 只要有能读取字节就一直循环读取直到读取完成- 参数:
len- 读取长度call- 回调
-
bytes
把缓存中数据都读取成byte[]列表- 返回:
- 列表
-
bytes
循环读取本身为byte 只要有能读取字节就一直循环读取直到读取完成- 参数:
call- 回调
-
length
public int length()得到字节数组的长度- 返回:
- 长度
-
read
public byte[] read(int len) 按当前偏移位置读入指定的长度的字节数组- 参数:
len- 长度- 返回:
- 字节数组
-
read
public byte[] read(byte[] data) 按当前偏移位置读入指定的字节数组- 参数:
data- 指定的字节数组- 返回:
- 字节数组
-
read
public byte[] read(byte[] data, int pos, int len) 按当前偏移位置读入指定的字节数组- 参数:
data- 指定的字节数组pos- 指定的字节数组的起始位置len- 读入的长度- 返回:
- 字节数组
-
readBoolean
public boolean readBoolean()读出一个布尔值- 返回:
- boolean
-
readByte
public byte readByte()读出一个字节- 返回:
- 字节
-
readChar
public char readChar()读出一个字符- 返回:
- 字符
-
readShort
public short readShort()读出一个短整型数值- 返回:
- short
-
readInt
public int readInt()读出一个整型数值- 返回:
- int
-
readFloat
public float readFloat()读出一个浮点数值- 返回:
- float
-
readLong
public long readLong()读出一个长整型数值- 返回:
- long
-
readDouble
public double readDouble()读出一个双浮点数值- 返回:
- double
-
readString
读出一个指定长度的字符串- 参数:
len- 长度- 返回:
- String
-
readString
读出一个字符串,长度不超过65534- 返回:
- String
-
write
public byte[] write(byte[] data) 写入指定字节数组- 参数:
data- 指定的字节数组- 返回:
- 字节数组
-
write
public byte[] write(byte[] data, int pos, int len) 写入指定字节数组- 参数:
data- 指定的字节数组pos- 指定的字节数组的起始位置len- 写入的长度- 返回:
- 字节数组
-
writeBoolean
public void writeBoolean(boolean b) 写入一个布尔值- 参数:
b- 布尔
-
writeByte
public void writeByte(byte b) 写入一个字节- 参数:
b- 字节
-
writeChar
public void writeChar(char c) 写入一个字符- 参数:
c- 字符
-
writeShort
public void writeShort(int i) 写入一个短整型数值- 参数:
i- int
-
writeShort
public void writeShort(short s) 写入一个短整型数值- 参数:
s- short
-
writeShort
public void writeShort(short s, int pos) 在指定位置写入一个短整型数值,length不变- 参数:
s- shortpos- 位置
-
writeInt
public void writeInt(int i) 写入一个整型数值- 参数:
i- int
-
writeInt
public void writeInt(int i, int pos) 在指定位置写入一个整型数值,length不变- 参数:
i- intpos- 位置
-
writeFloat
public void writeFloat(float f) 写入一个浮点数值- 参数:
f- float
-
writeLong
public void writeLong(long l) 写入一个长整型数值- 参数:
l- long
-
writeLong
public void writeLong(long l, int pos) 写入一个长整型数值- 参数:
l- longpos- 位置
-
writeDouble
public void writeDouble(double d) 写入一个双浮点数值- 参数:
d- double
-
writeString
写入一个字符串,可以为null- 参数:
s- 字符串
-
handle
public void handle()自处理方法 如果还能读取则压缩compact否则清除clear -
compact
public void compact()压缩缓冲区 抛弃以读数据 并把容量截取到写坐标 -
clear
public void clear()清除字节缓存对象 -
array
public byte[] array()获得有效数据 -
array
从接口复制的说明:ByteArray把字节数组转换成自己的字段 -
toString
-