Class GzipArchive

Class GzipArchive

Numele spaţiului: Aspose.Zip.Gzip Asamblare: Aspose.Zip.dll (25.5.0)

Această clasă reprezintă un fișier de arhivă gzip. Utilizați-l pentru a compune sau extrage arhivele gzip.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Membrii moștenitori

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

Remarks

Algoritmul de compresie Gzip se bazează pe algoritmul DEFLATE, care este o combinație de codare LZ77 și Huffman.

Constructors

GzipArchive()

Inițializează o nouă instanță a clasei Aspose.Zip.Gzip.GzipArchive pregătite pentru compresie.

public GzipArchive()

Examples

Următorul exemplu arată cum să compresezi un fișier.

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

GzipArchive(Războiul, bool)

Inițializează o nouă instanță a clasei Aspose.Zip.Gzip.GzipArchive pregătite pentru decompresie.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Sursă a arhivelor.

parseHeader bool

Indiferent dacă parsează titlul de flux pentru a afla proprietățile, inclusiv numele. face sens pentru fluxul căutat numai.

Examples

Deschideți un arhiv dintr-un flux și extrageți-l la un

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

Remarks

Acest constructor nu decomprime. a se vedea Aspose.Zip.Gzip.GzipArchive.Metoda deschisă pentru decomprimare.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’ are semnătura greșită.

GzipArchive(Cuvânt cheie, bool)

Inițializează o nouă instanță a clasei Aspose.Zip.Gzip.GzipArchive.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Calea către arhivă.

parseHeader bool

Indiferent dacă parsează titlul de flux pentru a afla proprietățile, inclusiv numele. face sens pentru fluxul căutat numai.

Examples

Deschideți un arhiv din fișier pe cale și extrageți-l la un

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

Remarks

Acest constructor nu decomprime. a se vedea Aspose.Zip.Gzip.GzipArchive.Metoda deschisă pentru decomprimare.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

Calea " este goală, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul path" este refuzat.

PathTooLongException

Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la path’ conține o coloană (:) în mijlocul stringului.

EndOfStreamException

Fișierul este prea scurt.

InvalidDataException

Datele din fișier au semnătură greșită.

Properties

Name

Numele unui fișier original.

public string Name { get; }

Valoarea proprietății

string

UncompressedSize

Obține dimensiunea unui fișier original.

public ulong UncompressedSize { get; }

Valoarea proprietății

ulong

Remarks

În timpul decompresiei, această proprietate poate conține dimensiunea incorectă. dacă dimensiunea fișierului necompresat depășește 4GB, această proprietate va da o valoare greșită datorită limitelor de 32-bit în titlu.

Methods

Dispose()

Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.

public void Dispose()

Dispose(Boulă)

Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

În cazul în care resursele gestionate ar trebui să fie eliminate.

Extract(Stream)

Extrage arhiva în fluxul furnizat.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. trebuie să fie scris.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream este corupt și nu conține date valabile.

Extract(Strângere)

Extrageți arhiva în fișier prin traseu.

public FileInfo Extract(string path)

Parameters

path string

Calea către fișierul de destinație. dacă fișierul există deja, va fi supraîncris.

Returns

FileInfo

Informații despre fișierele extrase.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

Calea " este goală, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul path" este refuzat.

PathTooLongException

Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la path’ conține o coloană (:) în mijlocul stringului.

InvalidDataException

Stream este corupt și nu conține date valabile.

ExtractToDirectory(Strângere)

Extrage conținutul arhivului în directorul furnizat.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Calea către directorie pentru a pune în fișierele extrase.

Remarks

Dacă directorul nu există, acesta va fi creat.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Calea specificată, numele fișierului sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

SecurityException

Solicitantul nu are permisiunea necesară pentru a accesa directorul existent.

NotSupportedException

Dacă directorul nu există, calea conține un caracter colon (:) care nu face parte dintr-o etichetă de disc (“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

Directoriul specificat de cale este un fișier. -or- Numele rețelei nu este cunoscut.

Open()

Deschide arhiva pentru extracție și oferă un flux cu conținut de arhivă.

public Stream Open()

Returns

Stream

Streamul care reprezintă conținutul arhivului.

Examples

Extrage fișierul și copiează conținutul extras în fluxul de fișiere.

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);
    }            
}

Puteți folosi metoda Stream.CopyTo pentru .NET 4.0 și mai înalt: unpacked.PopiTo(extract);

Remarks

Citiți din flux pentru a obține conținutul original al unui fișier.

Save(Stream)

Salvează arhiva la fluxul furnizat.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Războiul de destinaţie.

Examples

Scrie datele compresate în fluxul de răspuns HTTP.

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

Remarks

Trebuie să fie scrisă.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Sursa nu a fost furnizată.

Save(Strângere)

Salvează arhiva la fișierul de destinație furnizat.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

destinationFileName’ este gol, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul destinationFileName’ este refuzat.

PathTooLongException

De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la destinationFileName’ conține o coloană (:) în mijlocul stringului.

SetSource(Stream)

Puneți conținutul pentru a fi comprimat în arhivă.

public void SetSource(Stream source)

Parameters

source Stream

Rata de intrare pentru arhivă.

Examples

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

SetSource(FileInfo)

Puneți conținutul pentru a fi comprimat în arhivă.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Referința la un fișier care trebuie comprimat.

Examples

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

SetSource(Strângere)

Puneți conținutul pentru a fi comprimat în arhivă.

public void SetSource(string path)

Parameters

path string

Calea pentru a fi compresat.

Examples

Deschideți un arhiv din fișier pe cale și extrageți-l la un

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Solicitantul nu are permisiunea necesară de acces.

ArgumentException

Calea " este goală, conține doar spații albe sau conține caractere invalide.

UnauthorizedAccessException

Accesul la fișierul path" este refuzat.

PathTooLongException

Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.

NotSupportedException

Fișierul la path’ conține o coloană (:) în mijlocul stringului.

SetSource(TarArchive)

Puneți conținutul pentru a fi comprimat în arhivă.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Arhiva trebuie să fie comprimată.

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

Utilizați această metodă pentru a compune arhiva comună tar.gz.

 Română