我正在开发一款Huffman Java应用程序,离完成就差最后一步了。但是我有一个问题,需要将类似于“101011101010”这样的字符串保存到文件中。当我使用当前代码保存它时,它会被保存为字符,每个0或1占用1个字节。我相信可以将每个0/1保存为位(bit)。我已经尝试使用BitSet和Integer.valueOf,但无法使它们正常工作。以下是我的当前代码:
FileOutputStream fos = new FileOutputStream("encoded.bin");
fos.write(encoded.getBytes());
fos.close();
当'encoded'是类似于"0101011101"的字符串时,如果我尝试将其保存为整数,则会删除前导0。
提前感谢!
编辑:哈夫曼是一种压缩方法,因此输出的文件应该尽可能小。