我正在做的项目是处理更大的文件,在我们的代码库中,我们做回写确保信息,这些寻道是非常小的范围大部分时间,我认为使用zlib在我的流写入器/reader只是为了节省磁盘空间,但由于这种寻道的东西,我不能集成它,因为我需要写在缓冲区,然后压缩缓冲区,并写回它,这是忙碌的在非常旧/杂乱的代码库。最简单的方法是提供我的流编写器gzlib文件句柄和gzlib编写器api,它将自动写入,但在查找场景中将卡住/不确定,这将导致我的问题。任何建议都会很有帮助。
发布于 2018-10-16 03:08:38
你不能回过头来写一个gzip流。gzip仅用于顺序使用,包括读取和写入。
zlib中有一个gzseek()函数,但它的功能和方式非常有限。在写入时,您只能向前查找,在这种情况下,中间未压缩的字节将用零填充。你可以在阅读时向前和向后寻找。然而,向后查找是非常慢的,因为它将一直倒回到文件的开头,然后将整个文件读到所需的位置。
https://stackoverflow.com/questions/52809487
复制相似问题