我正在使用两种压缩算法的连续应用在 Java 中压缩超过 2GB 的文件;一个基于 LZ,一个基于 Huffman。(这类似于 DEFLATE)。
由于 2GB 太大而无法保存在任何缓冲区中,因此我必须通过输出临时文件的一种算法传递文件,然后通过输出最终文件的第二种算法传递该临时文件。
另一种方法是将文件压缩为 8MB 块(我没有收到 Out-Of-Memory 错误的大小),但是我无法充分利用整个文件中的冗余。
任何想法如何更整洁地执行这些操作。没有临时文件,也没有块压缩?是否有任何其他压缩工具以块为单位进行压缩?他们如何处理这个问题?问候