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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
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.
Fișierul la path’ conține o coloană (:) în mijlocul stringului.
Fișierul este prea scurt.
Datele din fișier au semnătură greșită.
Properties
Name
Numele unui fișier original.
public string Name { get; }
Valoarea proprietății
UncompressedSize
Obține dimensiunea unui fișier original.
public ulong UncompressedSize { get; }
Valoarea proprietății
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
destination’ does not support writing.
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
Informații despre fișierele extrase.
Exceptions
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
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.
Fișierul la path’ conține o coloană (:) în mijlocul stringului.
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
destinationDirectory’ is null.
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.
Solicitantul nu are permisiunea necesară pentru a accesa directorul existent.
Dacă directorul nu există, calea conține un caracter colon (:) care nu face parte dintr-o etichetă de disc (“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 (:).
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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Solicitantul nu are permisiunea necesară de acces.
destinationFileName’ este gol, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul destinationFileName’ este refuzat.
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.
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
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
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.
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.