को देखते हुएरिमोट आर्काइव फ़ाइल से एक फ़ाइल निकालने के लिए कैसे?
- एक संग्रह का URL (जैसे एक ज़िप फ़ाइल)
- पूरा नाम (पथ सहित) है कि संग्रह के अंदर एक फ़ाइल के
मैं एक तरह से तलाश कर रहा हूँ (अधिमानतः में जावा) उस फ़ाइल की स्थानीय प्रतिलिपि बनाने के लिए, पूरे संग्रह को पहले बिना डाउनलोड किए।
से मेरी (सीमित) को समझने हालांकि मुझे पता नहीं कैसे यह है कि क्या करना है यह संभव होना चाहिए,। मैं TrueZip का उपयोग कर रहा हूं, क्योंकि ऐसा लगता है कि यह विभिन्न प्रकार के संग्रह प्रकारों का समर्थन करता है, लेकिन मुझे इस तरह से काम करने की क्षमता के बारे में संदेह है। क्या किसी को इस तरह की चीज़ के साथ कोई अनुभव है?
संपादित करें: टैरबॉल और ज़िप्ड टैरबॉल के साथ ऐसा करने में भी सक्षम होना मेरे लिए भी महत्वपूर्ण है।
धन्यवाद; ऐसा लगता है कि यह अच्छी तरह से काम करता है (बार मामूली त्रुटियां), हालांकि दुर्भाग्यवश यह ज़िप संग्रहों के अलावा कुछ भी संभाल नहीं सकता है। – Oak
वैसे हाँ, आपको ऐसा क्यों लगता है कि इसे 'ज़िप इनपुट स्ट्रीम' कहा जाता है? ;-) यदि आप इंटरनेट के चारों ओर देखते हैं तो आप 'TarInputStream' ढूंढ सकते हैं जिसे आप मोटे तौर पर उसी तरह उपयोग कर सकते हैं - या यदि नहीं, तो आप अपना खुद का लिख सकते हैं। यह आसान होगा क्योंकि टैर फाइलें संपीड़ित नहीं होती हैं, यह मूल रूप से फाइल डेटा के बाद प्रत्येक फ़ाइल के लिए एक शीर्षलेख है। (विकिपीडिया में प्रारूप का विवरण है) gzipped tar archives के लिए, जावा की मानक लाइब्रेरी में 'GZIPInputStream' है जिसे आप टैर स्ट्रीम के साथ उपयोग कर सकते हैं। –
वास्तव में, अपाचे में एक [TarInputStream] है (http://javadoc.haefelinger.it/org.apache.ant/1.7.1/org/apache/tools/tar/TarInputStream.html) कक्षा :) – Oak