Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

ARJ Compression for C#

Îåêßíçóå áðü ôï ìÝëïò Τάσκος Γιώργος. Τελευταία δημοσίευση από το μέλος Τάσκος Γιώργος στις 08-09-2008, 13:12. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-09-2008, 00:34 44517

    ARJ Compression for C#

    Καλησπέρα σε όλους,

    Δεν ήξερα πού να κάνω δημοσίευση ακριβώς αλλα αφού το πρόγραμμα είναι Windows Forms Application...

    Ψάχνω λοιπόν ένα τρόπο να μπορώ να κάνω compression ένα φάκελο σε .ARJ συγκεκριμένα και αυτό δεν πρέπει να είναι κάτι άλλο,
    χωρίς όμως να χρησιμοποιήσω 3rd party application (i.e. WinRAR) και αυτό για λόγους αυτονομίας, έχω βρει libraries για .ZIP
    αλλά τίποτα που να μπορώ να χρησιμοποιήσω για .ARJ, έχει κανείς υπ'όψην κάτι?

    Ευχαριστώ πολύ!

  •  08-09-2008, 10:08 44520 σε απάντηση της 44517

    Απ: ARJ Compression for C#

    Εκτός κι αν υπάρχει συγκεκριμένη απαίτηση για να χρησιμοποιήσεις ARJ συμπίεση, δύσκολα θα βρεις κάτι σε native C#, καθώς το ARJ ανήκει στο χρονοντούλαπο μαζί με το DOS. Μάλιστα, τα περισσότερα προγράμματα μπορούν να αποσυμπιέσουν ARJ archives, όπως πχ. το WinRAR, αλλά δεν μπορούν να συμπιέσουν σε αυτό.

    Μπορείς να δοκιμάσεις χρησιμοποιώντας την command line εκδοχή του ARJ από το Site του κατασκευαστή (http://www.arjsoftware.com/files.htm)  χρησιμοποιώντας shell εντολές είτε κάποιο από τα Libraries κάτω κάτω, με interop.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  08-09-2008, 10:53 44522 σε απάντηση της 44520

    Απ: ARJ Compression for C#

    Πώπω, θυμήθηκα τα νιάτα μου! Arj, ο βασιλειάς του compression λίγο πριν βγει το rar! Γιαπωνέζικος αλγόριθμος ο οποίος βασίλεψε για ένα πολύ σύντομο διάστημα και εξαφανίστηκε λίγο μετά τα Windows 95. Τον έφαγαν το rar και το ταχύτατο WinZip.

    Ο Mitsaras έχει δίκιο. Εκτός και αν έχεις κάποιες ειδικές απαιτήσεις είναι παράλογο να χρησιμοποιήσεις τον ARJ. Το Zip/GZip χρησιμοποιούνται απ' όλους, η συμπίεση που κάνουν είναι επαρκής για κάθε χρήση και θα βρεις αρκετές έτοιμες υλοποιήσες οι οποίες μπορούν να καλύψουν κάθε απαίτηση, με διαφορετικές απαιτήσεις μνήμης και ταχύτητας.

    Αλήθεια, τί θέλεις να κάνεις? Αν μας πεις τί θέλεις να κάνεις θα μπορέσουμε να σου πούμε εναλλακτικές λύσεις. Π.χ. "θέλω ένα απλό και εύκολο τρόπο να αποθηκεύω αρχεία στο σκληρό", "θέλω να στείλω πληροφορίες σε άλλο σύστημα σε αργή γραμμή", "θέλω να στείλω πληροφορίες μέσω δορυφόρου", "θέλω να αποθηκεύσω εικόνες/τραγούδια στη βάση", "θέλω να στείλω μεγάλο όγκο δεδομένων μέσω web service" κλπ. Κάθε περίπτωση έχει διαφορετικές απαντήσεις, ενώ πολλές φορές το λειτουργικό σου δίνει έτοιμη την απάντηση.

    Για παράδειγμα, από τα Windows 2000 και μετά μπορείς να αποθηκεύσεις συμπιεσμένα ή κρυπτογραφημένα αρχεία στο σκληρό. Το ίδιο πλέον και ο SQL Server. Ο IIS μπορεί να στείλει συμπιεσμένα δεδομένα στον browser μέσω GZip. Εικόνες και ήχος μπορούν να συμπιεστούν καλύτερα με διάφορες τεχνικές lossy/lossless συμπίεσης με καλύτερα αποτελέσματα από το Zip/Arj/Rar. Τέλος, σε περίπτωση που θέλεις να στείλεις αλλαγές σε μία βάση ή αρχεία ή γενικά κατάσταση ενός συστήματος, αντί να στείλεις όλα τα στοιχεία μπορείς να στείλεις τη διαφορά μεταξύ παλιάς και νέας κατάστασης - συμπιεσμένη βέβαια.

    Ρίξε και μία ματιά στις εμπορικές υλοποιήσεις του Zip όπως π.χ. το IPWorks Zip της nSoftware οι οποίες χρησιμοποιούν γρήγορες multi-threaded υλοποιήσεις. Μπορείς κι εσύ βέβαια να πετύχεις παρόμοια αποτελέσματα χρησιμοποιώντας τα τελευταία SSE assembly instructions, αλλά σίγουρα θα κοστίσει περισσότερο από το να αγοράσεις έτοιμη μία καλή βιβλιοθήκη.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-09-2008, 13:12 44525 σε απάντηση της 44522

    Απ: ARJ Compression for C#

    Ευχαριστώ παιδιά για το ενδιαφέρον,

    Αυρό που κάνω ειναι σχετικά κάτι απλό, στην ουσία αλλάζω ενα Batch αρχείο σε C# Windows Form πρόγραμμα,
    σας δίνω ποιο κάτω το batch για να καταλάβετε.

    XCOPY S:\FOLDER\FILE.MDB S:\FOLDER\BACKUP /Y
    XCOPY F:\WCOL S:\FOLDER\BACKUP\WCOL\ /E /Y
    RAR A -R -U S:\FOLDER\BACKUP.ARJ S:\FOLDER\BACKUP


    @echo off
    nerocmd --write --drivename D --real --speed_in_kbps 150 --iso BACKUP --speedtest --detect_non_empty_cdrw --underrun_prot --import_iso_only --create_iso_fs --verify --use_allspace S:\folder\backup.arj --nero_log_timestamp --no_user_interaction

    Όπως βλέπετε το RAR.EXE κάνει συμπίεση σε ARJ, τώρα θα δώ αν γίνεται να το αλλάξω σε ZIP για τον λόγο ότι αυτό το CD το παίρνουν τρίτοι
    για λόγους αποθήκευσης Backup σε κάποιον αλλο υπολογιστή καθώς και το αποσυμπιέζουν επίσης.
    Θα δείτε ότι χρησιμοποιούνε ένα Nero SDK Command το οποίο έλυσα με ένα Wrapper γυρω στο IMAPI των XP για λόγους αυτονομίας,
    και για τους ίδιους λόγους ερχόμαστε στο ερώτημα μου, γιάτι όταν κάνεις πιστεύω κάτι θα πρέπει να δουλεύει όσο γίνεται αυτόνομα και όχι με 3rd Party Applications.

    Ευχαριστώ και πάλι...

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems