Class RMByteArray

All Implemented Interfaces:
RMPropertyChanger, Serializable, Cloneable

public class RMByteArray extends RMObject implements Serializable
This class is like a StringBuffer for bytes instead of chars. It implements StringBuffer styled append() methods, only everything is forced into ASCII bytes. It is also enhanced with additional binary writing capabilities, so that many core types can be written as binary.
See Also:
  • Constructor Details

    • RMByteArray

      public RMByteArray()
      Creates an empty RMData.
    • RMByteArray

      public RMByteArray(int aCapacity)
      Creates an empty RMData with the given capacity.
    • RMByteArray

      public RMByteArray(byte[] theBytes)
      Creates an RMData with the given byte array.
    • RMByteArray

      public RMByteArray(byte[] theBytes, int aLength)
      Creates an RMData with the given byte array (only to the given length).
  • Method Details

    • getBytes

      public byte[] getBytes()
      Returns the bytes in the data.
    • length

      public int length()
      Returns the length of the data.
    • getByte

      public byte getByte(int index)
      Returns the specific byte at the given index.
    • getBytes

      public void getBytes(int srcBegin, int srcEnd, byte[] destBytes)
      Copies the bytes from this data to the given byte array.
    • getBytes

      public void getBytes(int srcBegin, int srcEnd, byte[] destBytes, int destBegin)
      Copies the bytes from this data to the given byte array.
    • getInputStream

      public InputStream getInputStream()
      Returns an input stream of this data's bytes.
    • append

      public RMByteArray append(char c)
      Append common types as ASCII.
    • append

      public RMByteArray append(char[] str)
      Append the given char array.
    • append

      public RMByteArray append(char[] str, int offset, int length)
      Appends the given char array.
    • append

      public RMByteArray append(double d)
      Appends the given double.
    • append

      public RMByteArray append(float f)
      Appends the given float.
    • append

      public RMByteArray append(int anInt)
      Appends an int string to the data.
    • append

      public RMByteArray append(Object o)
      Appends an object's string representation to the data.
    • append

      public RMByteArray append(String aString)
      Appends a string to the data.
    • append

      public RMByteArray append(RMByteArray data)
      Appends raw binary from given data to data.
    • append

      public RMByteArray append(byte[] bytes)
      Appends raw binary from byte array to data.
    • append

      public RMByteArray append(byte[] bytes, int offset, int length)
      Appends raw binary from byte array to data.
    • insert

      public void insert(int index, RMByteArray data)
      Inserts raw binary from given data to data.
    • insert

      public void insert(int index, byte[] bytes)
      Inserts raw binary from byte array to data.
    • insert

      public void insert(int index, byte[] bytes, int offset, int length)
      Inserts raw binary from byte array to data.
    • replace

      public void replace(int start, int end, byte[] bytes, int offset, int length)
      Replace raw binary from byte array in data.
    • appendByte

      public void appendByte(int aByte)
      Appends byte to data.
    • appendUByte

      public void appendUByte(int aByte)
      Appends unsigned byte to data.
    • appendShort

      public void appendShort(int aShortInt)
      Appends short to data.
    • appendLittleShort

      public void appendLittleShort(int aShortInt)
      Appends little endian short to data.
    • appendLittleUShort

      public void appendLittleUShort(int aShort)
      Appends little endian unsigned short to data.
    • appendInt

      public void appendInt(int anInt)
      Appends int to data.
    • appendLittleInt

      public void appendLittleInt(int anInt)
      Appends little endian int to data.
    • appendLittleUInt

      public void appendLittleUInt(long aUInt)
      Appends little endian unsigned int to data.
    • setLittleShortAtIndex

      public void setLittleShortAtIndex(int aShortInt, int byteIndex)
      Sets little endian short to data at given index.
    • setLittleUShortAtIndex

      public void setLittleUShortAtIndex(int aShort, int byteIndex)
      Sets little endian unsigned short to data at given index.
    • setLittleIntAtIndex

      public void setLittleIntAtIndex(int anInt, int byteIndex)
      Sets little endian int to data at given index.
    • insertLittleUIntAtIndex

      public void insertLittleUIntAtIndex(long aUInt, int byteIndex)
      Inserts little endian unsigned int to data at given index.
    • bigShortAtIndex

      public short bigShortAtIndex(int index)
      Returns the short at the given index (assumed to be in big endian format).
    • bigUShortAtIndex

      public int bigUShortAtIndex(int index)
      Returns the big endian unsigned short at the given byte index.
    • littleShortAtIndex

      public short littleShortAtIndex(int index)
      Returns the little endian short at the given byte index.
    • littleUShortAtIndex

      public int littleUShortAtIndex(int index)
      Returns the little endian unsigned short at the given byte index.
    • bigUIntAtIndex

      public long bigUIntAtIndex(int index)
      Returns the big endian unsigned int at the given byte index.
    • littleUIntAtIndex

      public long littleUIntAtIndex(int index)
      Returns the little endian unsigned int at the given byte index.
    • charArrayAt

      public char[] charArrayAt(int index, int len)
      Returns the char array at the given byte index with the given length.
    • bigShortArrayAt

      public short[] bigShortArrayAt(int index, int len)
      Returns the array of big endian shorts at the given byte index with the given length.
    • bigUShortArrayAt

      public int[] bigUShortArrayAt(int index, int len)
      Returns the array of big endian unsigned shorts at the given byte index with the given length.
    • getCapacity

      public int getCapacity()
      Returns the size of the internal byte array.
    • setCapacity

      public void setCapacity(int aMinimumCapacity)
      Makes sure internal byte array is at least a given size.
    • equals

      public boolean equals(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class Object
    • clone

      public Object clone()
      Standard clone implementation.
      Overrides:
      clone in class RMListenerList
    • toString

      public String toString()
      Returns the string initialized from the data's bytes (ISO Latin).
      Overrides:
      toString in class RMObject
    • toString

      public String toString(int start, int end, String encoding)
      Returns the string initialized from the data's bytes in the given encoding.
    • toByteArray

      public byte[] toByteArray()
      Returns a byte array for the bytes in the data.
    • toByteArray

      public byte[] toByteArray(int start, int end)
      Returns a byte array for the bytes in the data.
    • flateCompressedData

      public void flateCompressedData()
      Flate compresses data.