2011-01-29 9 views
10

पर BZ2 फ़ाइल और असम्पीड्रेस/पार्स पढ़ें, मेरे पास एक बड़ी बड़ी BZ2 फ़ाइल है जिसमें कई टेक्स्ट फ़ाइलें हैं। क्या मेरे लिए जावा का उपयोग BZ2 फ़ाइल के अंदर कुछ फ़ाइलों को असम्पीडित करने और फ्लाई पर डेटा को असम्पीड्रेस/पार्स करने के लिए करना संभव है? मान लें कि 300 एमबी बीजेड 2 फाइल में 1 जीबी टेक्स्ट है। आदर्श रूप में, मैं अपने जावा प्रोग्राम को BZ2 फ़ाइल के 1 एमबी पढ़ने के लिए कहूंगा, इसे फ्लाई पर असम्पीडित करें, उस पर कार्य करें और अधिक डेटा के लिए BZ2 फ़ाइल को पढ़ना जारी रखें। क्या यह संभव है?जावा - फ्लाई

धन्यवाद

+1

'कि possible' है - हाँ :) – bestsss

उत्तर

2

चींटी परियोजना एक bzip2 पुस्तकालय में शामिल है। जिसमें org.apache.tools.bzip2.CBZip2InputStream कक्षा है। आप इस वर्ग का उपयोग फ्लाई पर bzip2 फ़ाइल को डिकंप्रेस करने के लिए कर सकते हैं - यह केवल मानक जावा InputStream कक्षा को बढ़ाता है।

+0

इस पुस्तकालय नहीं था ' मेरे bzip2 प्रारूप को पहचान नहीं है। कॉमन्स-संपीड़न का उपयोग करना पड़ा। – suhprano

19

अपाचे से कॉमन्स-संपीड़न लाइब्रेरी बहुत अच्छी है। यहाँ उनके नमूने पेज है: http://commons.apache.org/proper/commons-compress/examples.html

यहाँ नवीनतम Maven झलकी है:

<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-compress</artifactId> 
    <version>1.10</version> 
</dependency> 

और यहाँ मेरी util विधि है:

+1

नोट: स्वीकृत प्रारूप हैं: gzip, bzip2, xz, lzma, Pack200, DEFLATE और Z. जैसा कि लिंक में देखा गया है, सही एक स्वचालित रूप से असाइन किया गया है – Danielson

संबंधित मुद्दे