Class GzipArchive
Το όνομα: Aspose.Zip.Gzip Συγκέντρωση: Aspose.Zip.dll (25.5.0)
Αυτή η κατηγορία αντιπροσωπεύει ένα αρχείο αρχείων gzip. Χρησιμοποιήστε το για να συνθέσετε ή να εξάγετε αρχεία gzip.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
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
sourceStream’ is null.
sourceStream’ is too short.
Το 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
path’ is null.
Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.
Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.
Η πρόσβαση στο αρχείο path" αρνείται.
Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.
Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.
Το αρχείο είναι πολύ σύντομο.
Τα δεδομένα στο αρχείο έχουν λανθασμένη υπογραφή.
Properties
Name
Το όνομα ενός αρχικού αρχείου.
public string Name { get; }
Αξία ιδιοκτησίας
UncompressedSize
Έχει το μέγεθος ενός αρχείου.
public ulong UncompressedSize { get; }
Αξία ιδιοκτησίας
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
destination’ does not support writing.
Η ροή είναι διεφθαρμένη και δεν περιέχει έγκυρα δεδομένα.
Extract(Σύνδεσμος)
Εξάγετε το αρχείο στο αρχείο με τη διαδρομή.
public FileInfo Extract(string path)
Parameters
path
string
Ο δρόμος προς το αρχείο προορισμού.Εάν το αρχείο ήδη υπάρχει, θα είναι υπεργραφόμενο.
Returns
Πληροφορίες για τα εξαγόμενα αρχεία.
Exceptions
path’ is null.
Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.
Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.
Η πρόσβαση στο αρχείο path" αρνείται.
Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.
Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.
Η ροή είναι διεφθαρμένη και δεν περιέχει έγκυρα δεδομένα.
ExtractToDirectory(Σύνδεσμος)
Εξάγει το περιεχόμενο του αρχείου στο δελτίο που παρέχεται.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Η διαδρομή προς το δελτίο για να τοποθετήσετε τα εξαγόμενα αρχεία.
Remarks
Εάν το κατάλογο δεν υπάρχει, θα δημιουργηθεί.
Exceptions
destinationDirectory’ is null.
Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.
Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης στο υπάρχον κατάλογο.
Εάν η διεύθυνση δεν υπάρχει, το μονοπάτι περιέχει έναν χαρακτήρα στήλης (:) που δεν είναι μέρος μιας ετικέτας οδήγησης (“C:”).
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 (:).
Ο κατάλογος που καθορίζεται από το μονοπάτι είναι ένα αρχείο. -ή- Το όνομα δικτύου δεν είναι γνωστό.
Open()
Ανοίγει το αρχείο για εξόρυξη και παρέχει μια ροή με περιεχόμενο αρχείων.
public Stream Open()
Returns
Η ροή που αντιπροσωπεύει το περιεχόμενο του αρχείου.
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
outputStream’ is not writable.
Η πηγή δεν έχει παραδοθεί.
Save(Σύνδεσμος)
Αποθηκεύει τα αρχεία στο αρχείο προορισμού που παρέχεται.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Ο δρόμος του αρχείου για να δημιουργηθεί.Εάν το καθορισμένο όνομα αρχείου υποδεικνύει ένα υπάρχον αρχείο, θα υπεργραφεί.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.
Το destinationFileName’ είναι κενό, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.
Η πρόσβαση στο αρχείο destinationFileName’ αρνείται.
Το καθορισμένο destinationFileName’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.
Το αρχείο στο 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
path’ is null.
Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.
Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.
Η πρόσβαση στο αρχείο path" αρνείται.
Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.
Το αρχείο στο 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.