Apache Commons Συμπίεση υποστηρίζει και τα δύο ρεύματα αρχείων (μέσω συμπιεστές) και δομημένο περιεχόμενο (μέσω αρχειοθέτησης).
Η βιβλιοθήκη μπορεί να χρησιμοποιηθεί τόσο για τις διαδικασίες συμπίεσης και αποσυμπίεσης, που εργάζονται με σχετική μεγάλο αριθμό μορφές αρχείων, είναι μια από τις γνωστές τέτοιες λύσεις στην κοινότητα Java.
Η βιβλιοθήκη δεν είναι τέλεια, ορισμένα προβλήματα εξακολουθούν να είναι υπό ανάπτυξη για κάθε αρχείο μορφή αρχείου, αλλά σε γενικές γραμμές, αν θα πρέπει να υποστηρίξει ένα μεγάλο αριθμό φορμά συμπίεσης και δεν θέλετε να χρησιμοποιήσετε ογκώδη μεμονωμένες βιβλιοθήκες για κάθε μορφή, το Commons Συμπίεση το πακέτο θα μπορούσε να είναι καλύτερη απάντηση σας
Χαρακτηριστικά :.
- Υποστηριζόμενες μορφές αρχείων αρχείο:
- 7z
- ar
- arj
- bzip2
- cpio
- ξεφουσκώσει
- gzip
- LZMA
- Pack200
- ζωηρός
- πίσσα
- Unix χωματερή
- Χ-Ζ
- Zip
Τι είναι καινούργιο σε αυτήν την έκδοση:
- Οι ζωηρός, Ar και πίσσα inputstreams μπορεί να αποτύχει να διαβάσει από ένα μη-ρυθμισμένο ρεύμα σε ορισμένες περιπτώσεις.
- IOUtils # skip θα προσπερνούσαν λιγότερα bytes από ζητηθεί έστω και αν περισσότερο θα μπορούσε να διαβαστεί από το ρεύμα.
- ArchiveStreams επικύρωση τώρα υπάρχει ένα ρεύμα εισόδου πριν από την ανάγνωση ή την εγγραφή δεδομένων εισόδου.
- ArjArchiveInputStream # canReadEntryData δοκίμασε την τρέχουσα είσοδο του ρεύματος παρά το επιχείρημά της.
- changeset # διαγράψετε και deleteDir πλέον σωστά ασχοληθεί με ανώνυμο εγγραφές.
- Προστέθηκε κάποιους ελέγχους null για τη βελτίωση της ευρωστίας.
- TarArchiveInputStream απέτυχε να διαβάσει αρχεία με άδειο GID / uid πεδία.
- TarArchiveInputStream τώρα ρίχνει και πάλι μια εξαίρεση, όταν συναντά ένα περικομμένο αρχείο κατά την ανάγνωση από την τελευταία εγγραφή.
- Προσαρμοσμένη TarArchiveInputStream # μεταβείτε στην τροποποιημένη μέθοδο IOUtils # παράλειψης. Χάρη στην BELUGA BEHR.
Τι είναι καινούργιο στην έκδοση 1.7:.
- Read-Only υποστήριξη για Snappy συμπίεση
- Read-Only υποστήριξη για .Z συμπιεσμένα αρχεία.
- zipfile και ZipArchiveInputStream τώρα υποστηρίζουν την ανάγνωση εγγραφές συμπιεστεί με τη χρήση της μεθόδου συρρικνώνεται.
- GzipCompressorOutputStream υποστηρίζει τώρα τον καθορισμό του επιπέδου συμπίεσης και τα μεταδεδομένα επικεφαλίδα (όνομα, σχόλιο, χρόνος τροποποίησης, το λειτουργικό σύστημα και επιπλέον σημαίες)
- zipfile και ZipArchiveInputStream τώρα υποστηρίζουν την ανάγνωση εγγραφές συμπιεστεί με τη χρήση της μεθόδου εκραγούν.
- αρχείο zip και το αρχείο 7z τάξεις εφαρμόζουν κλείνουν καλά και μπορεί να χρησιμοποιηθεί σε δοκιμή-με-πόρους κατασκευάσματα.
Τώρα
Τι είναι καινούργιο στην έκδοση 1.5:
- CompressorStreamFactory έχει τη δυνατότητα να δημιουργήσει αποσυμπίεση ρέματα που αποσυμπιέζουν την πλήρη εισόδου για μορφές που υποστηρίζουν πολλαπλά συνεχόμενα ρεύματα.
Τι είναι καινούργιο στην έκδοση 1.4:
Έχει προστεθεί υποστήριξη για τη μορφή ΧΖΤι είναι καινούργιο στην έκδοση 1.3:
Έχει προστεθεί υποστήριξη για τη μορφή Pack200-
- έχει προστεθεί (8) εργαλείο για ανάγνωση μόνο υποστήριξη για τη μορφή που χρησιμοποιείται από το dump Unix.
Τι είναι καινούργιο στην έκδοση 1.2:
- Νέα χαρακτηριστικά:
- ZipArchiveEntry έχει μια νέα μέθοδο getRawName που παρέχει τις αρχικές bytes που αποτελείται από το όνομα. Αυτό μπορεί να επιτρέψει τον κωδικό χρήστη για να ανιχνεύσει την κωδικοποίηση.
- TarArchiveEntry παρέχει πρόσβαση στις σημαίες που καθορίζουν κατά πόσο αυτό είναι ένα αρχειοθετημένο συμβολική σύνδεση, σωλήνα ή άλλο & quot? Ασυνήθιστο & quot? αντικείμενο του συστήματος αρχείων.
- Σταθερά σφάλματα:
- ZipArchiveInputStream θα μπορούσε να αποτύχει με ένα & quot? Περικομμένο ταχυδρομικός & quot? μήνυμα σφάλματος για εγγραφές μεταξύ 2 GByte και 4 GByte σε μέγεθος.
- TarArchiveInputStream ανιχνεύει τώρα αραιά καταχωρήσεις που χρησιμοποιούν το oldgnu μορφή και σωστά αναφέρει ότι δεν μπορεί να εξαγάγει το περιεχόμενό τους.
- Η Javadoc για ZipArchiveInputStream # παραλείψετε τώρα ταιριάζει με την εφαρμογή, ο κώδικας έχει γίνει πιο αμυντική.
- ArArchiveInputStream αποτύχει εάν οι καταχωρήσεις περιέχει μόνο κενά για userid ή ΑναγνωριστικόΟμάδας .
- zipfile μπορεί να διαρρεύσει μέσα σε μερικά JDKs.
- BZip2CompressorInputStream ρίχνει IOException αν οι υποκείμενες επιστρέφει ρεύμα διαθέσιμο () == 0. Αφαιρέθηκε ο έλεγχος.
- Κλήση κοντά () σε inputStream επέστρεψε από CompressorStreamFactory.createCompressorInputStream () δεν κλείνει την υποκείμενη ρεύμα εισόδου.
- TarArchiveOutputStream # φινίρισμα γράφει τώρα όλα τα αποθηκευμένα δεδομένα στο ρεύμα
- Αλλαγές:
- zipfile υλοποιεί τώρα να ολοκληρώσουν το οποίο κλείνει το υποκείμενο αρχείο.
- Ορισμένες πίσσα αρχεία που δεν αναγνωρίζεται από ArchiveStreamFactory.
Απαιτήσεις :
- Java 5 ή νεότερη έκδοση
Τα σχόλια δεν βρέθηκε