Package ucar.nc2.iosp
Class BitReader
- java.lang.Object
-
- ucar.nc2.iosp.BitReader
-
public class BitReader extends Object
Helper for reading data that has been bit packed.
-
-
Constructor Summary
Constructors Constructor Description BitReader(byte[] test)
BitReader(RandomAccessFile raf, long startPos)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
bits2SInt(int nb)
Read the next nb bits and return the value as a signed long.long
bits2UInt(int nb)
Read the next nb bits and return the value as an unsigned long.long
getPos()
Get the current file offset in bytes.void
incrByte()
Go to the next byte in the streamvoid
setBitOffset(int bitOffset)
Position file at bitOffset from startPos
-
-
-
Constructor Detail
-
BitReader
public BitReader(byte[] test)
-
BitReader
public BitReader(RandomAccessFile raf, long startPos) throws IOException
Constructor- Parameters:
raf
- the RandomAccessFilestartPos
- points to start of data in data section, in bytes- Throws:
IOException
- on seek error
-
-
Method Detail
-
incrByte
public void incrByte()
Go to the next byte in the stream
-
setBitOffset
public void setBitOffset(int bitOffset) throws IOException
Position file at bitOffset from startPos- Parameters:
bitOffset
- bit offset from starting position- Throws:
IOException
- on io error
-
getPos
public long getPos()
Get the current file offset in bytes.
-
bits2UInt
public long bits2UInt(int nb) throws IOException
Read the next nb bits and return the value as an unsigned long.- Parameters:
nb
- the number of bits to convert to int, must be 0 < nb ≤ 64.- Returns:
- the value as an unsigned long.
- Throws:
IOException
- on read error
-
bits2SInt
public long bits2SInt(int nb) throws IOException
Read the next nb bits and return the value as a signed long.- Parameters:
nb
- the number of bits to convert to int, must be ≤ 64.- Returns:
- the value as a signed long
- Throws:
IOException
- on read error
-
-