Class GzipArchive
De naam: Aspose.Zip.Gzip Verzameling: Aspose.Zip.dll (25.5.0)
Deze klasse vertegenwoordigt een gzip archiefbestand. Gebruik het om gzip archieven te composeren of te extraheren.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
Geëerbiede leden
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Gzip Compression algorithm is gebaseerd op het DEFLATE algorithm, dat is een combinatie van LZ77 en Huffman codering.
Constructors
GzipArchive()
Initialiseert een nieuwe instantie van de Aspose.Zip.Gzip.GzipArchive-klasse voorbereid voor compressie.
public GzipArchive()
Examples
Het volgende voorbeeld laat zien hoe u een bestand kunt compresseren.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Stream en bool)
Initialiseert een nieuwe instantie van de Aspose.Zip.Gzip.GzipArchive klasse voorbereid voor decompressie.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
De bron van het archief.
parseHeader
bool
Of het nu gaat om de stream header om eigenschappen te ontdekken, inclusief naam. maakt zin voor zoektochtbare stream alleen.
Examples
Open een archief van een stroom en extraheren naar een
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Zie Aspose.Zip.Gzip.GzipArchive.Open methode voor decompressie.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
De sourceStream’ heeft een verkeerde handtekening.
GzipArchive(String en Bool)
Initialiseert een nieuwe instantie van de Aspose.Zip.Gzip.GzipArchive klasse.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
De weg naar het archiefbestand.
parseHeader
bool
Of het nu gaat om de stream header om eigenschappen te ontdekken, inclusief naam. maakt zin voor zoektochtbare stream alleen.
Examples
Open een archief van het bestand per pad en extraheren naar een
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Zie Aspose.Zip.Gzip.GzipArchive.Open methode voor decompressie.
Exceptions
path’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand path’ wordt geweigerd.
De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand op path’ bevat een kolom (:) in het midden van de string.
Het bestand is te kort.
De gegevens in het bestand hebben een verkeerde handtekening.
Properties
Name
Naam van een originele bestand.
public string Name { get; }
Eigendomswaarde
UncompressedSize
Het krijgt de grootte van een originele bestand.
public ulong UncompressedSize { get; }
Eigendomswaarde
Remarks
Tijdens decompressie kan deze eigenschap onjuiste grootte bevatten.Als de oncompressieve bestandgrootte 4GB overschrijdt, geeft deze eigenschap een onjuiste waarde vanwege de 32-bit grens in de header.
Methods
Dispose()
Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.
public void Dispose()
Dispose(Bool)
Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Of de beheerde middelen moeten worden afgebroken.
Extract(Stream)
Extract het archief naar de verstrekte stroom.
public void Extract(Stream destination)
Parameters
destination
Stream
Destination stream. moet geschreven zijn.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
Stream is corrupt en bevat geen geldig gegevens.
Extract(String)
Extract het archief naar het bestand per pad.
public FileInfo Extract(string path)
Parameters
path
string
De route naar bestand bestemming.Als het bestand al bestaat, zal het worden overgeschreven.
Returns
Informatie over geïntroduceerde bestanden.
Exceptions
path’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand path’ wordt geweigerd.
De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand op path’ bevat een kolom (:) in het midden van de string.
Stream is corrupt en bevat geen geldig gegevens.
ExtractToDirectory(String)
Verwijder de inhoud van het archief naar het verstrekte directory.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
De route naar het directory om de geïntroduceerde bestanden in te plaatsen.
Remarks
Als de directory niet bestaat, wordt deze gemaakt.
Exceptions
destinationDirectory’ is null.
De aangegeven pad, bestandnaam of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms moeten paden minder dan 248 tekens en bestandnamen moeten minder dan 260 tekens zijn.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen tot de bestaande directory.
Als de directory niet bestaat, bevat de route een colon karakter (:) dat niet deel uitmaakt van een drive label (“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 (:).
De door de route aangegeven directory is een bestand. -or- De netwerknaam is niet bekend.
Open()
Open het archief voor extractie en geeft een stroom met archiefinhoud.
public Stream Open()
Returns
De stroom die de inhoud van het archief vertegenwoordigt.
Examples
Extract het archief en kopieert geëxtracteerde inhoud naar bestandstromen.
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);
}
}
U kunt de methode Stream.CopyTo voor .NET 4.0 en hoger gebruiken: ‘unpacked.KopieTo(extracted);’
Remarks
Lees van de stroom om de oorspronkelijke inhoud van een bestand te krijgen. zie voorbeelden sectie.
Save(Stream)
Speel archief op de geleverde stroom.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
De bestemming stroom.
Examples
Schrijft gecomprimeerde gegevens naar HTTP-responsstream.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
moet geschreven zijn.
Exceptions
outputStream’ is not writable.
De bron is niet geleverd.
Save(String)
Het archief wordt opgeslagen naar het bestand van bestemming.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
De route van het archief om te worden gecreëerd.Als de aangegeven bestandnaam wijst op een bestaande bestand, wordt het overgeschreven.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De destinationFileName’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand destinationFileName’ wordt geweigerd.
De aangegeven destinationFileName’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand bij destinationFileName’ bevat een kolom (:) in het midden van de string.
SetSource(Stream)
Stel de inhoud in om in het archief te worden gecomprimeerd.
public void SetSource(Stream source)
Parameters
source
Stream
De ingangstromen voor het archief.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Stel de inhoud in om in het archief te worden gecomprimeerd.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
De verwijzing naar een bestand om te worden gecomprimeerd.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(String)
Stel de inhoud in om in het archief te worden gecomprimeerd.
public void SetSource(string path)
Parameters
path
string
De weg naar het bestanden om gecomprimeerd te worden.
Examples
Open een archief van het bestand per pad en extraheren naar een
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand path’ wordt geweigerd.
De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand op path’ bevat een kolom (:) in het midden van de string.
SetSource(TarArchive)
Stel de inhoud in om in het archief te worden gecomprimeerd.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Tar archief te worden gecomprimeerd.
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
Gebruik deze methode om een joint tar.gz archief te maken.