Ανοιχτού κώδικα C API για μορφές αρχείων συμπίεσης
C Βιβλιοθήκη για ανάγνωση/εγγραφή αρχείων ροής σε μορφές TAR, ZIP, 7-ZIP, CPIO, PAX & ISO.
Το Libarchive είναι μια βιβλιοθήκη καθαρού C ανοιχτού κώδικα που επιτρέπει στους προγραμματιστές λογισμικού να διαβάζουν και να γράφουν αρχεία ροής σε διαφορετικές μορφές, όπως εικόνες TAR, ZIP, 7-ZIP, CPIO, PAX και ISO9660. Το υπέροχο με το Libarchive είναι ότι είναι εξαιρετικά αρθρωτό. Από την αρχή, σχεδιάστηκε με τέτοιο τρόπο ώστε η προσθήκη νέων μορφών αρχείου να είναι πολύ εύκολη σε σύγκριση με άλλες βιβλιοθήκες.
Το Libarchive υποστηρίζει την ανάγνωση και τη γραφή πολλών δημοφιλών μορφών αρχείων συμπίεσης. Διαβάζει πολλές δημοφιλείς μορφές, όπως εικόνες TAR, ZIP, 7-ZIP, CPIO, PAX, RAR, XAR, LHA, AR, CAB, MTREE και ISO. Παρέχει επίσης υποστήριξη γραφής για δημοφιλείς μορφές όπως αρχεία TAR, ZIP, ISO, XAR, PAX, CPIO, AR, MTREE και SHAR.
Ξεκινώντας με το Libarchive
Η διανομή libarchive περιέχει μια τυπική δέσμη ενεργειών "διαμόρφωσης" που δημιουργείται από την αυτόματη διαμόρφωση που μπορεί να χρησιμοποιηθεί για την εγκατάσταση του libarchive, bsdtar και bsdcpio σε σχεδόν οποιοδήποτε σύστημα παρόμοιο με το POSIX.
Ένας τυπικός κωδικός εγκατάστασης δίνεται παρακάτω
Εδώ είναι η Εντολή
$ tar xzf libarchive-2.7.0.tar.gz
$ cd libarchive-2.7.0
$ ./configure
$ make
$ make check
$ make install
Μπορείτε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα "cmake" για να δημιουργήσετε αρχεία διαμόρφωσης για μια ποικιλία IDE, όπως το Visual Studio στα Windows και το XCode σε Mac OS. Να θυμάστε ότι μπορεί να χρησιμοποιηθεί με το libarchive 2.6.990a ή μεταγενέστερο. Θα χρειαστεί πρώτα να αποκτήσετε και να εγκαταστήσετε την κατάλληλη έκδοση του εργαλείου cmake για την πλατφόρμα σας
Χρησιμοποιήστε το Automatic Format Detector
Το Libarchive χρησιμοποιεί έναν αυτόματο ανιχνευτή μορφής κατά την ανάγνωση αρχείων. Χρησιμοποιεί μια εσωτερική διαδικασία "προσφοράς" που εξετάζει τα εισερχόμενα δεδομένα χρησιμοποιώντας πολλαπλές ενότητες. Ο ανιχνευτής αντιμετωπίζει αυτόματα αρχεία που είναι συμπιεσμένα με Tar, Gzip, Bzip2 και πολλούς άλλους δημοφιλείς αλγόριθμους συμπίεσης.
Εγγραφή αρχείων στο Gzipped TAR Archive
Το Libarchive επιτρέπει στους προγραμματιστές λογισμικού να γράψουν μια ομάδα αρχείων σε ένα αρχείο tar με gzip. Η δυνατότητα γραφής είναι πιο περίπλοκη σε σύγκριση με τη δυνατότητα ανάγνωσης. Η κοινή διαδικασία είναι να δημιουργήσετε πρώτα το αντικείμενο αρχειοθέτησης struct, να ορίσετε τυχόν προτιμώμενες επιλογές, να αρχικοποιήσετε το αρχείο, να προσθέσετε καταχωρήσεις και στο τέλος, μην ξεχάσετε να κλείσετε το αρχείο και να απελευθερώσετε όλους τους πόρους.
C API για την ανάγνωση περιεχομένων αρχείων
Το Libarchive επιτρέπει στους προγραμματιστές υπολογιστών να διαβάζουν και να εξάγουν τα περιεχόμενα ενός αρχείου. Για την εξαγωγή αρχείου από το αρχείο, πρέπει πρώτα να το επαναλάβετε μέχρι να βρείτε ένα με το όνομα αρχείου που θέλετε. Μετά από αυτό, μπορείτε να διαβάσετε δεδομένα και να τα εγγράψετε σε ένα αρχείο σε ένα δίσκο. Η συμπίεση και η μορφή ανιχνεύονται αυτόματα κατά την ανάγνωση.
Πώς να εξαγάγετε αρχεία σε δίσκο μέσα σε εφαρμογές C
Το Libarchive API δίνει στους προγραμματιστές υπολογιστών τη δυνατότητα να εξάγουν τα περισσότερα αρχεία σε έναν δίσκο. Για να εξαγάγετε αρχεία πρέπει να διαβάσετε τις κεφαλίδες από το αρχείο εισόδου και να τις γράψετε στο δίσκο. Για να ολοκληρώσετε την εργασία, πρέπει να τραβήξετε δεδομένα από ένα αρχείο ανάγνωσης και να τα γράψετε σε έναν χειριστή εγγραφής.