Я думаю, что ваша ошибка находится за пределами кода, который вы опубликовали, поскольку я завернул его в эту программу, и она работает здесь:
package de.fencing_game.paul.examples;
import java.util.BitSet;
/**
* Test class for /8075898/izvlechenie-dvoichnyh-dannyh-iz-tablitsy-sql-v-java-s-pomoschy-baitovogo-massiva-i-klassa-bitset.
*/
public class BitSetByteArrayTest {
public static void main(String[] params) {
byte[] barray= new byte[]{ 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, (byte)0x80,
};
BitSet bits = new BitSet();
if(barray!=null){
for (int i=0; i<barray.length*8; i++) {
if ((barray[barray.length-i/8-1]&(1<<(i%8))) > 0) {
bits.set(i);
}
}
}
System.out.println(bits);
}
}
Работает также с вашим вводом
byte[] barray = { 0, 0, 0, 0, 0,
0x20, 0, 0, 0, 0,
0, 0, 0, 0, 0};
вместо образца массива, показывая {77}
затем.