Cela peut tomber dans le domaine de "pas vraiment faisable" ou "ne vaut pas vraiment la peine" mais voilà.Accès aléatoire au fichier gzip en plusieurs parties (en Java)
J'essaie d'accéder de manière aléatoire aux enregistrements stockés dans un fichier gzip en plusieurs parties. Plus précisément, les fichiers qui m'intéressent sont les fichiers Arc compressés Heretrix. (Si vous n'êtes pas familier avec les fichiers gzip en plusieurs parties, la spécification gzip autorise la concaténation de plusieurs flux gzip dans un seul fichier gzip, qui ne partage aucune information de dictionnaire, mais un simple ajout binaire.)
Je pense qu'il devrait être possible de le faire en cherchant un certain décalage dans le fichier, puis rechercher les octets d'en-tête magiques gzip (ie 0x1f8b, comme RFC), et essayer de lire le flux gzip à partir des octets suivants . Le problème avec cette approche est que ces mêmes octets peuvent également apparaître dans les données réelles, donc la recherche de ces octets peut conduire à une position invalide pour commencer à lire un flux gzip. Existe-t-il un meilleur moyen de gérer l'accès aléatoire, étant donné que les compensations d'enregistrements ne sont pas connues a priori?