यह "वास्तव में व्यवहार्य नहीं" या "वास्तव में प्रयास के लायक नहीं" के दायरे में पड़ सकता है लेकिन यहां जाता है।बहु-भाग gzip फ़ाइल यादृच्छिक पहुंच (जावा में)
मैं बहु-भाग gzip फ़ाइल के अंदर संग्रहीत रिकॉर्ड्स को यादृच्छिक रूप से एक्सेस करने का प्रयास कर रहा हूं। विशेष रूप से, जिन फ़ाइलों में मुझे रूचि है उनमें संकुचित Heretrix आर्क फ़ाइलें हैं। (यदि आप बहु-भाग gzip फ़ाइलों से परिचित नहीं हैं, तो gzip spec एकाधिक gzip streams को एक gzip फ़ाइल में संयोजित करने की अनुमति देता है। वे किसी भी शब्दकोश की जानकारी साझा नहीं करते हैं, यह सरल बाइनरी संलग्न है।)
मुझे लगता है कि फ़ाइल के भीतर एक निश्चित ऑफसेट की तलाश करके ऐसा करना संभव होना चाहिए, फिर RFC के अनुसार gzip magic header बाइट्स (यानी 0x1f8b) स्कैन करें, और निम्न बाइट्स से gzip स्ट्रीम को पढ़ने का प्रयास करें । इस दृष्टिकोण के साथ समस्या यह है कि वही बाइट वास्तविक डेटा के अंदर भी दिखाई दे सकते हैं, इसलिए उन बाइट्स की तलाश करने से एक जीजीआईपी स्ट्रीम पढ़ने शुरू करने के लिए एक अमान्य स्थिति हो सकती है। क्या यादृच्छिक अभिगम को संभालने का कोई बेहतर तरीका है, यह देखते हुए कि रिकॉर्ड ऑफसेट को प्राथमिकता नहीं माना जाता है?