Class GzipArchive

Class GzipArchive

Το όνομα: Aspose.Zip.Gzip Συγκέντρωση: Aspose.Zip.dll (25.5.0)

Αυτή η κατηγορία αντιπροσωπεύει ένα αρχείο αρχείων gzip. Χρησιμοποιήστε το για να συνθέσετε ή να εξάγετε αρχεία gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Κληρονομημένα μέλη

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Remarks

Ο αλγόριθμος συμπίεσης Gzip βασίζεται στο αλγόριθμο DEFLATE, το οποίο είναι ένας συνδυασμός κωδικοποίησης LZ77 και Huffman.

Constructors

GzipArchive()

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Gzip.GzipArchive προετοιμασμένη για συμπίεση.

public GzipArchive()

Examples

Το παρακάτω παράδειγμα δείχνει πώς να συμπιέσετε ένα αρχείο.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Πυροβολισμοί, Bool)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Gzip.GzipArchive προετοιμασμένη για αποσύνθεση.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Η πηγή των αρχείων.

parseHeader bool

Ανεξάρτητα από το αν θα ανακαλύψετε τον τίτλο ροής για να ανακαλύψετε ιδιότητες, συμπεριλαμβανομένου του ονόματος.

Examples

Ανοίξτε ένα αρχείο από ένα ρεύμα και αφαιρέστε το σε ένα

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Remarks

Αυτός ο κατασκευαστής δεν καταστρέφει. δείτε Aspose.Zip.Gzip.GzipArchive.Ανοιχτή μέθοδος καταστρέψισης.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

Το sourceStream’ έχει λάθος υπογραφή.

GzipArchive(Στέλινγκ, Μπόλ)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Ο δρόμος προς το αρχείο.

parseHeader bool

Ανεξάρτητα από το αν θα ανακαλύψετε τον τίτλο ροής για να ανακαλύψετε ιδιότητες, συμπεριλαμβανομένου του ονόματος.

Examples

Ανοίξτε ένα αρχείο από το φάκελο ανά διαδρομή και αφαιρέστε το σε ένα

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Remarks

Αυτός ο κατασκευαστής δεν καταστρέφει. δείτε Aspose.Zip.Gzip.GzipArchive.Ανοιχτή μέθοδος καταστρέψισης.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο path" αρνείται.

PathTooLongException

Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.

EndOfStreamException

Το αρχείο είναι πολύ σύντομο.

InvalidDataException

Τα δεδομένα στο αρχείο έχουν λανθασμένη υπογραφή.

Properties

Name

Το όνομα ενός αρχικού αρχείου.

public string Name { get; }

Αξία ιδιοκτησίας

string

UncompressedSize

Έχει το μέγεθος ενός αρχείου.

public ulong UncompressedSize { get; }

Αξία ιδιοκτησίας

ulong

Remarks

Κατά τη διάρκεια της αποσύνθεσης, αυτή η ιδιότητα μπορεί να περιέχει εσφαλμένο μέγεθος.Εάν το μη συμπιεσμένο μέγεθος αρχείου υπερβαίνει τα 4GB, αυτή η ιδιότητα θα δώσει εσφαλμένη αξία λόγω του ορίου 32-bit στην επικεφαλίδα.

Methods

Dispose()

Εκτελεί καθορισμένα από την εφαρμογή καθήκοντα που σχετίζονται με την απελευθέρωση, την απελευθέρωση ή την ανακατασκευή μη διαχειριζόμενων πόρων.

public void Dispose()

Dispose(Μπόλ)

Εκτελεί καθορισμένα από την εφαρμογή καθήκοντα που σχετίζονται με την απελευθέρωση, την απελευθέρωση ή την ανακατασκευή μη διαχειριζόμενων πόρων.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Πρέπει να αφαιρεθούν οι διαχειριζόμενοι πόροι.

Extract(Stream)

Εξάγετε το αρχείο στο δίκτυο που παρέχεται.

public void Extract(Stream destination)

Parameters

destination Stream

Ο προορισμός πρέπει να είναι γραπτός.

Examples

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Η ροή είναι διεφθαρμένη και δεν περιέχει έγκυρα δεδομένα.

Extract(Σύνδεσμος)

Εξάγετε το αρχείο στο αρχείο με τη διαδρομή.

public FileInfo Extract(string path)

Parameters

path string

Ο δρόμος προς το αρχείο προορισμού.Εάν το αρχείο ήδη υπάρχει, θα είναι υπεργραφόμενο.

Returns

FileInfo

Πληροφορίες για τα εξαγόμενα αρχεία.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο path" αρνείται.

PathTooLongException

Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.

InvalidDataException

Η ροή είναι διεφθαρμένη και δεν περιέχει έγκυρα δεδομένα.

ExtractToDirectory(Σύνδεσμος)

Εξάγει το περιεχόμενο του αρχείου στο δελτίο που παρέχεται.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Η διαδρομή προς το δελτίο για να τοποθετήσετε τα εξαγόμενα αρχεία.

Remarks

Εάν το κατάλογο δεν υπάρχει, θα δημιουργηθεί.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης στο υπάρχον κατάλογο.

NotSupportedException

Εάν η διεύθυνση δεν υπάρχει, το μονοπάτι περιέχει έναν χαρακτήρα στήλης (:) που δεν είναι μέρος μιας ετικέτας οδήγησης (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).

IOException

Ο κατάλογος που καθορίζεται από το μονοπάτι είναι ένα αρχείο. -ή- Το όνομα δικτύου δεν είναι γνωστό.

Open()

Ανοίγει το αρχείο για εξόρυξη και παρέχει μια ροή με περιεχόμενο αρχείων.

public Stream Open()

Returns

Stream

Η ροή που αντιπροσωπεύει το περιεχόμενο του αρχείου.

Examples

Απομακρύνει το αρχείο και αντιγράφει το περιεχόμενο που έχει απομακρυνθεί σε ροή αρχείων.

using (var archive = new GzipArchive("archive.gz"))
{
    using (var extracted = File.Create("data.bin"))
    {
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }            
}

Μπορείτε να χρησιμοποιήσετε τη μέθοδο Stream.CopyTo για το .NET 4.0 και υψηλότερο: unpacked.KopyTo(εξαιρεθεί);

Remarks

Διαβάστε από το ρεύμα για να πάρετε το αρχικό περιεχόμενο ενός αρχείου.

Save(Stream)

Αποθηκεύστε τα αρχεία στο παρεχόμενο ρεύμα.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Ο προορισμός ρεύματος.

Examples

Γράφει συμπιεσμένα δεδομένα στην ροή της απάντησης http.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Remarks

Πρέπει να είναι γραπτή.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Η πηγή δεν έχει παραδοθεί.

Save(Σύνδεσμος)

Αποθηκεύει τα αρχεία στο αρχείο προορισμού που παρέχεται.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Ο δρόμος του αρχείου για να δημιουργηθεί.Εάν το καθορισμένο όνομα αρχείου υποδεικνύει ένα υπάρχον αρχείο, θα υπεργραφεί.

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το destinationFileName’ είναι κενό, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο destinationFileName’ αρνείται.

PathTooLongException

Το καθορισμένο destinationFileName’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο destinationFileName’ περιέχει μια στήλη (:) στη μέση της γραμμής.

SetSource(Stream)

Εισάγετε το περιεχόμενο για να συμπιέσει μέσα στο αρχείο.

public void SetSource(Stream source)

Parameters

source Stream

Η ροή εισόδου για το αρχείο.

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Εισάγετε το περιεχόμενο για να συμπιέσει μέσα στο αρχείο.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Η αναφορά σε ένα αρχείο που πρέπει να συμπιέζεται.

Examples

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(Σύνδεσμος)

Εισάγετε το περιεχόμενο για να συμπιέσει μέσα στο αρχείο.

public void SetSource(string path)

Parameters

path string

Ο τρόπος για να αρχίσετε να συμπιέσετε.

Examples

Ανοίξτε ένα αρχείο από το φάκελο ανά διαδρομή και αφαιρέστε το σε ένα

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο path" αρνείται.

PathTooLongException

Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.

SetSource(TarArchive)

Εισάγετε το περιεχόμενο για να συμπιέσει μέσα στο αρχείο.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Τα αρχεία πρέπει να συμπιέζονται.

Examples

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var gzippedArchive = new GzipArchive())
    {
           gzippedArchive.SetSource(tarArchive);
           gzippedArchive.Save("archive.tar.gz");
    }
}

Remarks

Χρησιμοποιήστε αυτή τη μέθοδο για να συνθέσετε κοινό αρχείο tar.gz.

 Ελληνικά