Class GzipArchive
Namn på plats: Aspose.Zip.Gzip Sammanfattning: Aspose.Zip.dll (25.5.0)
Denna klass representerar en gzip arkivfil. Använd den för att komponera eller extrahera gzip arkiv.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
Arvsmedlemmar
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Gzip-komprimeringsalgoritmen är baserad på DEFLATE-algoritmen, som är en kombination av LZ77 och Huffman-kodning.
Constructors
GzipArchive()
Initialiserar en ny instans av Aspose.Zip.Gzip.GzipArchive klass förberedd för komprimering.
public GzipArchive()
Examples
Följande exempel visar hur man komprimerar en fil.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Stream och bool)
Initialiserar en ny instans av Aspose.Zip.Gzip.GzipArchive klass förberedd för dekomprimering.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
Källan till arkivet.
parseHeader
bool
Huruvida att parsa ström header för att ta reda på egenskaper, inklusive namn. Gör mening för sökbar ström endast.
Examples
Öppna ett arkiv från en ström och extrahera det till en
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Denna konstruktör dekomprimerar inte. Se Aspose.Zip.Gzip.GzipArchive.Öppna metoden för dekomprimering.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
sourceStream’ har fel signatur.
GzipArchive(String och bool)
Initialiserar en ny instans av Aspose.Zip.Gzip.GzipArchive klass.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
Vägen till arkivfilen.
parseHeader
bool
Huruvida att parsa ström header för att ta reda på egenskaper, inklusive namn. Gör mening för sökbar ström endast.
Examples
Öppna ett arkiv från filen per väg och extrahera det till en
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Denna konstruktör dekomprimerar inte. Se Aspose.Zip.Gzip.GzipArchive.Öppna metoden för dekomprimering.
Exceptions
path’ is null.
Sökanden har inte behörig tillstånd att komma åt.
path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till filen path" vägras.
Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på path’ innehåller en kolumn (:) i mitten av raden.
Filen är för kort.
Data i filen har fel signatur.
Properties
Name
Namn på en originalfil.
public string Name { get; }
Fastighetsvärde
UncompressedSize
Få storleken på en originalfil.
public ulong UncompressedSize { get; }
Fastighetsvärde
Remarks
Om den icke-komprimerade filstorleken överstiger 4 GB, kommer denna egenskap att ge ett felvärde på grund av den 32-bitars gränsen i header.
Methods
Dispose()
Utför tillämpningsdefinierade uppgifter som är förknippade med frigöring, frigöring eller återanvändning av okontrollerade resurser.
public void Dispose()
Dispose(Bool)
Utför tillämpningsdefinierade uppgifter som är förknippade med frigöring, frigöring eller återanvändning av okontrollerade resurser.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Oavsett om de förvaltade resurserna ska utplånas.
Extract(Stream)
Extraherar arkivet till den tillhandahållna strömmen.
public void Extract(Stream destination)
Parameters
destination
Stream
Destination stream. måste vara skribar.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
Stream är korrupt och innehåller inte giltiga data.
Extract(Sträng)
Extraherar arkivet till filen per väg.
public FileInfo Extract(string path)
Parameters
path
string
Vägen till målfilen. om filen redan existerar, kommer den att översättas.
Returns
Information om extraherade filer.
Exceptions
path’ is null.
Sökanden har inte behörig tillstånd att komma åt.
path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till filen path" vägras.
Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på path’ innehåller en kolumn (:) i mitten av raden.
Stream är korrupt och innehåller inte giltiga data.
ExtractToDirectory(Sträng)
Extraherar innehållet i arkivet till den angivna katalogen.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Vägen till katalogen för att placera de extraherade filerna i.
Remarks
Om katalogen inte existerar kommer den att skapas.
Exceptions
destinationDirectory’ is null.
Den angivna vägen, filnamnet eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägarna vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökanden har inte behörig behörighet att få tillgång till det befintliga katalogen.
Om katalogen inte existerar innehåller vägen en kolumnkaraktär (:) som inte är en del av en drivrutinsetikett (“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 (:).
Den katalog som anges av vägen är en fil. -eller- Nätverksnamnet är inte känt.
Open()
Öppnar arkivet för extraction och ger en ström med arkivinnehåll.
public Stream Open()
Returns
Strömmen som representerar innehållet i arkivet.
Examples
Extraherar arkivet och kopierar extraherat innehåll till filström.
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);
}
}
Du kan använda Stream.CopyTo-metoden för .NET 4.0 och högre: unpacked.KopiTo(utdraget);
Remarks
Läs från strömmen för att få det ursprungliga innehållet i en fil. Se exempel avsnitt.
Save(Stream)
Spara arkiv till den tillhandahållna strömmen.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
Destination strömmar.
Examples
Skriv komprimerade data till HTTP responsström.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
Måste vara skribar.
Exceptions
outputStream’ is not writable.
Källan har inte levererats.
Save(Sträng)
Spara arkiv till den angivna destinationsfilen.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Om den angivna filnamnet pekar på en befintlig fil, kommer den att översättas.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
Sökanden har inte behörig tillstånd att komma åt.
destinationFileName’ är tom, innehåller endast vita utrymmen, eller innehåller ogiltiga tecken.
Tillgång till filen destinationFileName’ vägras.
Den angivna destinationFileName’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.
Filen i destinationFileName’ innehåller en kolumn (:) i mitten av raden.
SetSource(Stream)
Ställ in innehållet för att komprimeras inom arkivet.
public void SetSource(Stream source)
Parameters
source
Stream
Inträdesflöde för arkivet.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Ställ in innehållet för att komprimeras inom arkivet.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
Referensen till en fil som ska komprimeras.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(Sträng)
Ställ in innehållet för att komprimeras inom arkivet.
public void SetSource(string path)
Parameters
path
string
Vägen att filera för att komprimeras.
Examples
Öppna ett arkiv från filen per väg och extrahera det till en
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
Sökanden har inte behörig tillstånd att komma åt.
path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till filen path" vägras.
Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på path’ innehåller en kolumn (:) i mitten av raden.
SetSource(TarArchive)
Ställ in innehållet för att komprimeras inom arkivet.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Tar arkiv att komprimeras.
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
Använd den här metoden för att komponera ett gemensamt tar.gz-arkiv.