这可能落在“不太可行”或“并不真正值得付出”的领域,但在这里。多部分gzip文件随机存取(以Java编程)
我想随机访问存储在多部分gzip文件中的记录。具体而言,我感兴趣的文件被压缩为Heretrix Arc文件。 (如果你不熟悉多部分的gzip文件,使用gzip规范允许多个gzip的流在一个gzip文件并置。他们不共享任何字典信息,这是简单的二进制追加。)
我认为应该可以通过在文件内寻找一定的偏移量来完成此操作,然后扫描gzip魔头标头字节(即根据RFC,即0x1f8b),并尝试从以下字节中读取gzip流。这种方法的问题在于那些相同的字节也可能出现在实际数据中,因此寻找这些字节可能导致开始读取gzip流的无效位置。考虑到记录偏移不是先验已知的,是否有更好的方法来处理随机访问?