Pra*_*esh 5 java huffman-code storing-data
我编写了一个算法来实现Huffman Coding来压缩文本文件.它基本上将字符串作为输入,并生成一串位作为输出.但是,我在存储这个二进制数据时遇到了问题,因为它存储为一个字符串,其中每个位都是一个字符,并占用2个字节的内存用于存储.最终结果,输出文件大于输入,使整个程序一文不值.我应该如何存储这个二进制输出,使每个位只占用一位内存用于存储?PS.我尝试过使用BitSet,但根本没有改变输出的大小
一旦您在 中得到结果BitSet,您可以致电
BitSet.toByteArray()将数据保存到文件中,即:
FileUtils.writeByteArrayToFile(new File(...), bitSet.toByteArray());
Run Code Online (Sandbox Code Playgroud)
并BitSet.valueOf(byte[])从文件中读取数据:
BitSet bitSet = new BitSet(FileUtils.readFileToByteArray(new File(...)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2481 次 |
| 最近记录: |