Я выполняю проект класса, который является алгоритмом хаффмана. После прочтения файла и создания кода huffman (1s & 0s) мне нужно экспортировать его в новый файл с помощью побитовых операций. По какой-то причине, когда я экспортирую с помощью побитовых операций, файл заканчивается даже больше, чем раньше. С строкой из 1s и 0s, представляющей предыдущие символы, используя поразрядные данные, я должен сохранять каждый 1 и 0 в цепочках по 8 бит. Это код, который у меня есть:Побитовые мудрые операции
byte currentByte = 0;
for (int i = 0, j = 0; i < binaryString.length(); i++, j++) {
if (binaryString.charAt(i) == '1') {
currentByte |= (byte) Math.pow(2, 7 - j);
}
if (i != 0 && (i % 8 == 0 || i == binaryString.length() - 1)) {
output.writeObject(currentByte);
if (i % 8 == 0) {
currentByte = 0;
j = 0;
}
}
}
Спасибо.