现在我正在研究使用霍夫曼编码进行文本压缩的项目。我能够读入一个文件(包含ASCII文本)并创建一个霍夫曼编码信息。例如,如果我的文件"input.txt"
包含以下文本: Missippi river
,那么我的编码代码字将是这样的 1110100110111001001010000110101111001110
其中有40位,而我的"input.txt"
是14个字节(14 * 8 = 112位)。所以我减少了112位到40位,但是如何将我的代码字(包含O和1)输出到只有40位长的文件?我试图把这个字符串放入一个.txt.
文件,但是这个.txt.
文件最终比我的"input.txt"
长,从而使我的整个项目变得毫无价值。我正在尝试创建一个编码器/解码器模型。我已经成功地创建了编码器部分,并且我也能够创建霍夫曼码字,但是如何输出这些信息以便我的解码器可以读取并解压缩。如何使用java保存文件位?
感谢
为什么要将位存储为字符串? – m0skit0
我从树上得到它,所以使用一个字符串似乎很容易。后来我使用BitSet将其转换为int。 – theprogrammer094