Class GzipArchive
Nom dels espais: Aspose.Zip.Gzip Assemblea: Aspose.Zip.dll (25.5.0)
Aquesta classe representa un arxiu gzip. Utilitzeu-lo per compondre o extreure arxius gzip.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
Membres heretats
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
L’algoritme de compressió Gzip es basa en l’algoritme DEFLATE, que és una combinació de codificació LZ77 i Huffman.
Constructors
GzipArchive()
Inicialitza una nova instància de la classe Aspose.Zip.GzipArchive preparada per a la compressi.
public GzipArchive()
Examples
L’exemple següent mostra com comprimir un fitxer.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(El tren, el bool)
Inicia una nova instància de la classe Aspose.Zip.GzipArchive preparada per a la decompressi.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
La font de l’arxiu.
parseHeader
bool
No obstant això, per a parsear el títol de flux per descobrir les propietats, inclòs el nom. fa sentit per a flux solament buscable.
Examples
Obre un arxiu d’un corrent i extreure’l a un
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Aquest constructor no descomprimeix. Veure Aspose.Zip.Gzip.GzipArchive.Metode obert per descomprimir.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
El sourceStream’ té la signatura equivocada.
GzipArchive(Tàrrega, Bool)
Inicialitza una nova instància de la classe Aspose.Zip.Gzip.GzipArchive.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
El camí cap a l’arxiu.
parseHeader
bool
No obstant això, per a parsear el títol de flux per descobrir les propietats, inclòs el nom. fa sentit per a flux solament buscable.
Examples
Obre un arxiu del fitxer per ruta i extreure-lo a un
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Aquest constructor no descomprimeix. Veure Aspose.Zip.Gzip.GzipArchive.Metode obert per descomprimir.
Exceptions
path’ is null.
El client no té el permís d’accés requerit.
La path’ és buida, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer path" es nega.
El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a path’ conté una columna (:) al mig de la cadena.
El fitxer és massa curt.
Les dades en el fitxer tenen la signatura equivocada.
Properties
Name
Nom d’un fitxer original.
public string Name { get; }
Valor de la propietat
UncompressedSize
Obté la mida d’un fitxer original.
public ulong UncompressedSize { get; }
Valor de la propietat
Remarks
En el moment de la decompressió, aquesta propietat pot contenir una mida incorrecta.Si la mida del fitxer no comprès supera 4GB, aquesta propietat donarà un valor equivocat a causa de la limitació de 32 bits en el títol.
Methods
Dispose()
Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.
public void Dispose()
Dispose(La botiga)
Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
S’han de disposar de recursos gestionats.
Extract(Stream)
L’arxiu s’extreu al flux proporcionat.
public void Extract(Stream destination)
Parameters
destination
Stream
La destinació ha de ser escrita.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
El flux és corrupte i no conté dades vàlides.
Extract(Tàrrega)
Extreure l’arxiu al fitxer per cam.
public FileInfo Extract(string path)
Parameters
path
string
El camí a l’arxiu de destinació. Si el fitxer ja existeix, serà sobreescrit.
Returns
Informació de fitxers extraïts.
Exceptions
path’ is null.
El client no té el permís d’accés requerit.
La path’ és buida, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer path" es nega.
El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a path’ conté una columna (:) al mig de la cadena.
El flux és corrupte i no conté dades vàlides.
ExtractToDirectory(Tàrrega)
Extreu el contingut de l’arxiu a la direcció proporcionada.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
El camí a la direcció per col·locar els arxius extraïts.
Remarks
Si la direcció no existeix, es crear.
Exceptions
destinationDirectory’ is null.
Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters i els noms de fitxers han de ser menys de 260 caràcters.
El sol·licitant no té l’autorització necessària per accedir a la direcció existent.
Si el directori no existeix, el recorregut conté un caràcter colon (:) que no forma part d’una etiqueta 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 (:).
El directori especificat per ruta és un arxiu. -o- El nom de la xarxa no és conegut.
Open()
Obre l’arxiu per a l’extracció i proporciona un flux amb contingut d’arxiu.
public Stream Open()
Returns
El corrent que representa el contingut de l’arxiu.
Examples
Extrata l’arxiu i copia el contingut extraït al flux de fitxers.
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);
}
}
Podeu utilitzar el mètode Stream.CopyTo per a .NET 4.0 i més alt: ‘unpacked.KopiTo(extraït);’
Remarks
Llegeix des del flux per obtenir el contingut original d’un fitxer. Veure secció exemples.
Save(Stream)
Salva l’arxiu al corrent proporcionat.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
El flux de destinaci.
Examples
Escriu les dades comprimides al flux de resposta HTTP.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
Ha de ser escriïble.
Exceptions
outputStream’ is not writable.
La font no s’ha proporcionat.
Save(Tàrrega)
Salva l’arxiu al fitxer de destinació proporcionat.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
El camí de l’arxiu que s’ha de crear. Si el nom de fitxer especificat indica un fitxer existent, serà sobreescrit.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
El client no té el permís d’accés requerit.
El destinationFileName’ és buit, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer destinationFileName’ és negat.
El nom de fitxer especificat destinationFileName, o ambdós superen la longitud màxima definida pel sistema. Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a destinationFileName’ conté una columna (:) al mig de la cadena.
SetSource(Stream)
Establir el contingut per a ser comprès dins de l’arxiu.
public void SetSource(Stream source)
Parameters
source
Stream
El flux d’entrada per a l’arxiu.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Establir el contingut per a ser comprès dins de l’arxiu.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
La referència a un arxiu a ser comprès.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(Tàrrega)
Establir el contingut per a ser comprès dins de l’arxiu.
public void SetSource(string path)
Parameters
path
string
El camí per a arxiu per a ser comprès.
Examples
Obre un arxiu del fitxer per ruta i extreure-lo a un
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
El client no té el permís d’accés requerit.
La path’ és buida, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer path" es nega.
El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a path’ conté una columna (:) al mig de la cadena.
SetSource(TarArchive)
Establir el contingut per a ser comprès dins de l’arxiu.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Arxiu per a ser comprès.
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
Utilitzeu aquest mètode per compondre l’arxiu tar.gz.