Package host.anzo.commons.io.binary
Class ByteBufferEx
java.lang.Object
host.anzo.commons.io.binary.ByteBufferEx
- All Implemented Interfaces:
AutoCloseable
- Since:
- 07.05.2017
-
Constructor Summary
ConstructorsConstructorDescriptionByteBufferEx(byte @NotNull [] data, ByteOrder byteOrder) Wrap a specified byte array to ByteBufferExByteBufferEx(int capacity, ByteOrder byteOrder, boolean isDirect) Create ByteBufferEx with specified order and capacityByteBufferEx(InputStream inputStream, ByteOrder byteOrder) Wrap specified InputStream to ByteBufferEx -
Method Summary
Modifier and TypeMethodDescriptionintcapacity()booleanvoidCheck if buffer must be destroyedvoidclear()Clear byte buffer contentvoidclose()voidcompact()Compact byte buffervoidflip()Flip byte buffer contentintbooleanintlimit()voidlimit(int limit) Set byte buffer limitintposition()position(int pos) Set the current cursor position in byte bufferfinal voidreadB(byte[] dst) Read bytes to specified byte arrayfinal voidreadB(byte[] dst, int offset, int len) final byte @NotNull []readB(int len) Read specified bytes count to byte arrayfinal @NotNull ByteBufferExreadBuffer(int len) final bytereadC()final booleanreadCB()final booleanreadCB(int align) final intreadCD()final intreadD()final intreadD(int position) final intreadD3()final longreadDQ()final longreadDQ(int position) final <T extends Enum<T>>
Tfinal floatreadF()final shortreadH()final shortreadH(int position) final intreadHD()final longreadQ()final @NotNull Stringfinal @NotNull StringreadString(int size) Read ANSI string with known sizefinal @NotNull StringreadStringNT(int size) Read null terminated ANSI stringfinal StringreadStringUnicode(int padding) final Stringfinal StringreadStringUnicodeNT(int size) intfinal voidskip(int bytes) Skip specified bytes count and set cursor positionfinal voidskipAll()Skip all remaining data and set cursor to end of bufferbyte[]voidSet buffer must be destroyed after current operation completedfinal voidfinal voidwriteArray(Object[] objectArray) final voidwriteB(byte[] data) final voidwriteB(int size) final voidwriteC(boolean value) final voidwriteC(byte[] byteArray) final voidwriteC(int value) final voidfinal voidwriteD(boolean value) final voidwriteD(int value) final voidwriteD(int[] intArray) final voidwriteD(int value, int align) final voidwriteD(long value) final voidwriteD3(int value) Write specified value to buffer as 24bit integerfinal voidwriteF(double value) final voidwriteF(float value) final voidwriteF(float[] floatArray) final voidwriteF(int value) final voidwriteH(boolean value) final voidwriteH(int value) final voidwriteH(int[] intArray) final voidwriteH(short[] shortArray) final voidwriteQ(boolean value) final voidwriteQ(long value) final voidwriteQ(long[] longArray) final voidwriteString(CharSequence charSequence) final voidwriteString(CharSequence charSequence, int size) final voidwriteStringUnicode(CharSequence charSequence, int size) final voidwriteStringUnicodeNT(CharSequence charSequence) booleanwriteToFile(Path path)
-
Constructor Details
-
ByteBufferEx
Create ByteBufferEx with specified order and capacity- Parameters:
capacity- initial capacity of ByteBufferExbyteOrder- byte order of ByteBufferExisDirect-trueif buffer must be DirectByteBuffer
-
ByteBufferEx
Wrap a specified byte array to ByteBufferEx- Parameters:
data- byte array to wrapbyteOrder- byte order of created ByteBufferEx
-
ByteBufferEx
Wrap specified InputStream to ByteBufferEx- Parameters:
inputStream- InputStream to wrapbyteOrder- byte order of created ByteBufferEx- Throws:
IOException
-
-
Method Details
-
position
public int position()- Returns:
- current cursor position in buffer
-
position
Set the current cursor position in byte buffer- Parameters:
pos- cursor position- Returns:
- buffer with changed to specified cursor position
-
limit
public void limit(int limit) Set byte buffer limit- Parameters:
limit- limit to set
-
limit
public int limit()- Returns:
- current limit of byte buffer
-
remaining
public int remaining()- Returns:
- remaining byte count from current cursor position to limit
-
hasRemaining
public boolean hasRemaining()- Returns:
trueif buffer has remaining bytes from current cursor position
-
flip
public void flip()Flip byte buffer content -
capacity
public int capacity()- Returns:
- byte buffer capacity
-
compact
public void compact()Compact byte buffer -
clear
public void clear()Clear byte buffer content -
skip
public final void skip(int bytes) Skip specified bytes count and set cursor position- Parameters:
bytes- bytes count
-
skipAll
public final void skipAll()Skip all remaining data and set cursor to end of buffer -
readB
public final void readB(byte[] dst) Read bytes to specified byte array- Parameters:
dst- array to write
-
readB
public final byte @NotNull [] readB(int len) Read specified bytes count to byte array- Parameters:
len- bytes count- Returns:
- byte array
-
readBuffer
-
readB
public final void readB(byte[] dst, int offset, int len) -
readC
public final byte readC() -
readCD
public final int readCD() -
readCB
public final boolean readCB() -
readCB
public final boolean readCB(int align) -
readHD
public final int readHD() -
readH
public final short readH() -
readH
public final short readH(int position) -
readD
public final int readD() -
readD
public final int readD(int position) -
readDQ
public final long readDQ() -
readDQ
public final long readDQ(int position) -
readD3
public final int readD3() -
readQ
public final long readQ() -
readF
public final float readF() -
readStringUnicode
-
readStringUnicodeNT
-
readStringUnicodeNT
-
readString
Read ANSI string with known size- Parameters:
size- string size- Returns:
- string from buffer with specified size
-
readString
-
readStringNT
Read null terminated ANSI string- Parameters:
size- string size- Returns:
- string from buffer with specified size
-
readEnum
-
write
-
writeC
public final void writeC(boolean value) -
writeC
public final void writeC(int value) -
writeC
-
writeC
public final void writeC(byte[] byteArray) -
writeH
public final void writeH(boolean value) -
writeH
public final void writeH(int value) -
writeH
public final void writeH(short[] shortArray) -
writeH
public final void writeH(int[] intArray) -
writeD
public final void writeD(boolean value) -
writeD
public final void writeD(int value) -
writeD
public final void writeD(int value, int align) -
writeD
public final void writeD(long value) -
writeD
public final void writeD(int[] intArray) -
writeQ
public final void writeQ(boolean value) -
writeQ
public final void writeQ(long value) -
writeQ
public final void writeQ(long[] longArray) -
writeF
public final void writeF(float value) -
writeF
public final void writeF(float[] floatArray) -
writeF
public final void writeF(double value) -
writeF
public final void writeF(int value) -
writeArray
-
writeB
public final void writeB(byte[] data) -
writeB
public final void writeB(int size) -
writeD3
public final void writeD3(int value) Write specified value to buffer as 24bit integer- Parameters:
value- value to write
-
writeString
-
writeString
-
writeStringUnicodeNT
-
writeStringUnicode
-
getPosition
public int getPosition() -
toByteArray
public byte[] toByteArray() -
writeToFile
-
checkAccess
public boolean checkAccess()- Returns:
trueif buffer can be accessed now
-
checkDestroy
public void checkDestroy()Check if buffer must be destroyed -
tryDestroy
public void tryDestroy()Set buffer must be destroyed after current operation completed -
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-