Reads an 24 bit array length followed by the actual array data. - Java File Path IO

Java examples for File Path IO:Byte Array

Description

Reads an 24 bit array length followed by the actual array data.

Demo Code


import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.util.Iterator;
import org.apache.log4j.Logger;

public class Main{
    /**/*from w w w  .j  a va  2  s. co m*/
     * Reads an 24 bit array length followed by the actual array data.
     * 
     * @param buf
     * @return the array read
     */
    final static public byte[] readArray24(ByteBuffer buf) {
        int length = getUnsigned24(buf);
        byte[] array = new byte[length];
        buf.get(array);
        return array;
    }
    /**
     * Return 24 unsigned bits as an integer. Big endian.
     * 
     * @param buf
     * @return
     */
    final public static int getUnsigned24(ByteBuffer buf) {
        int length = (0xff & buf.get());
        length = (length << 8) | (0xff & buf.get());
        length = (length << 8) | (0xff & buf.get());
        return length;
    }
}

Related Tutorials