Class GzipArchive

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

object GzipArchive

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

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

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

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

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.

NotSupportedException

Filen på path’ innehåller en kolumn (:) i mitten av raden.

EndOfStreamException

Filen är för kort.

InvalidDataException

Data i filen har fel signatur.

Properties

Name

Namn på en originalfil.

public string Name { get; }

Fastighetsvärde

string

UncompressedSize

Få storleken på en originalfil.

public ulong UncompressedSize { get; }

Fastighetsvärde

ulong

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

ArgumentException

destination’ does not support writing.

InvalidDataException

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

FileInfo

Information om extraherade filer.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

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.

NotSupportedException

Filen på path’ innehåller en kolumn (:) i mitten av raden.

InvalidDataException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Sökanden har inte behörig behörighet att få tillgång till det befintliga katalogen.

NotSupportedException

Om katalogen inte existerar innehåller vägen en kolumnkaraktär (:) som inte är en del av en drivrutinsetikett (“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

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

Stream

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

ArgumentException

outputStream’ is not writable.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

destinationFileName’ är tom, innehåller endast vita utrymmen, eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Tillgång till filen destinationFileName’ vägras.

PathTooLongException

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.

NotSupportedException

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

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

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.

NotSupportedException

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.

 Svenska