![](/img/trans.png)
[英]How To Print 3 Stacks On Screen In 3 Columns Of 7 In The Most Efficient Manner Java
[英]Java: Storing bits in the most memory efficient manner
我編寫了一個算法來實現Huffman Coding來壓縮文本文件。 它基本上將字符串作為輸入,並生成一串位作為輸出。 但是,我在存儲這個二進制數據時遇到了問題,因為它存儲為一個字符串,其中每個位都是一個字符,並占用2個字節的內存用於存儲。 最終結果,輸出文件大於輸入,使整個程序一文不值。 我應該如何存儲這個二進制輸出,使每個位只占用一位內存用於存儲? PS。 我嘗試過使用BitSet,但根本沒有改變輸出的大小
將結果BitSet
,即可調用
BitSet.toByteArray()
將數據保存到文件中,即:
FileUtils.writeByteArrayToFile(new File(...), bitSet.toByteArray());
和BitSet.valueOf(byte[])
從文件中讀取數據:
BitSet bitSet = new BitSet(FileUtils.readFileToByteArray(new File(...)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.