這可能落在「不太可行」或「並不真正值得付出」的領域,但在這裏。多部分gzip文件隨機存取(以Java編程)
我想隨機訪問存儲在多部分gzip文件中的記錄。具體而言,我感興趣的文件被壓縮爲Heretrix Arc文件。 (如果你不熟悉多部分的gzip文件,使用gzip規範允許多個gzip的流在一個gzip文件並置。他們不共享任何字典信息,這是簡單的二進制追加。)
我認爲應該可以通過在文件內尋找一定的偏移量來完成此操作,然後掃描gzip魔頭標頭字節(即根據RFC,即0x1f8b),並嘗試從以下字節中讀取gzip流。這種方法的問題在於那些相同的字節也可能出現在實際數據中,因此尋找這些字節可能導致開始讀取gzip流的無效位置。考慮到記錄偏移不是先驗已知的,是否有更好的方法來處理隨機訪問?