Это может упасть в область «не реально выполнимо» или «не стоит усилий», но здесь.Многопользовательский доступ к произвольному произвольному файлу gzip (на Java)
Я пытаюсь случайно получить доступ к записям, хранящимся в файле gzip с несколькими частями. В частности, файлы, которые меня интересуют, сжаты Heretrix Arc файлы. (В случае, если вы не знакомы с файлами gzip с несколькими частями, спецификация gzip позволяет объединить несколько потоков gzip в один файл gzip. Они не содержат ни одной информации о словарях, это просто бинарное приложение.)
Я думаю, что это должно быть возможно сделать, если вы попытаетесь найти какое-то смещение внутри файла, затем сканируйте байты заголовка gzip magic (то есть 0x1f8b, в соответствии с RFC) и попытайтесь прочитать поток gzip из следующих байтов , Проблема с этим подходом заключается в том, что те же самые байты могут отображаться и внутри фактических данных, поэтому поиск этих байтов может привести к недопустимой позиции, чтобы начать чтение потока gzip. Есть ли лучший способ обработки случайного доступа, учитывая, что смещения записи неизвестны априори?