Class GzipArchive

Class GzipArchive

Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)

Denna klass representerar en gzip-arkivfil. Använd den för att komprimera eller extrahera gzip-arkiv.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Arv

objectGzipArchive

Implementerar

IArchive, IDisposable, IArchiveFileEntry

Ärvda Medlemmar

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Kommentarer

Gzip-komprimeringsalgoritmen är baserad på DEFLATE-algoritmen, som är en kombination av LZ77 och Huffman-kodning.

Konstruktörer

GzipArchive()

Initierar en ny instans av Aspose.Zip.Gzip.GzipArchive-klassen för komprimering.

public GzipArchive()

Exempel

Följande exempel visar hur man komprimerar en fil.

using (GzipArchive archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

GzipArchive(Stream, bool)

Initierar en ny instans av Aspose.Zip.Gzip.GzipArchive-klassen för dekomprimering.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parametrar

sourceStream Stream

Källan för arkivet.

parseHeader bool

Om strömhuvudet ska tolkas för att fastställa egenskaper, inklusive namn. Gör mening för sökbar ström endast.

Exempel

Öppna ett arkiv från en ström och extrahera det till en MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Kommentarer

Denna konstruktor dekomprimerar inte. Se Aspose.Zip.Gzip.GzipArchive.Open-metoden för dekomprimering.

GzipArchive(string, bool)

Initierar en ny instans av Aspose.Zip.Gzip.GzipArchive-klassen.

public GzipArchive(string path, bool parseHeader = false)

Parametrar

path string

Sökvägen till arkivfilen.

parseHeader bool

Om strömhuvudet ska tolkas för att fastställa egenskaper, inklusive namn. Gör mening för sökbar ström endast.

Exempel

Öppna ett arkiv från fil med sökväg och extrahera det till en MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Kommentarer

Denna konstruktor dekomprimerar inte. Se Aspose.Zip.Gzip.GzipArchive.Open-metoden för dekomprimering.

Undantag

ArgumentNullException

path är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

path är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till fil path nekas.

PathTooLongException

Den angivna path, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Fil på path innehåller ett kolon (:) i mitten av strängen.

Egenskaper

Name

Namn på originalfilen.

public string Name { get; }

Egenskapsvärde

string

Metoder

Dispose()

Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.

public void Dispose()

Dispose(bool)

Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.

protected virtual void Dispose(bool disposing)

Parametrar

disposing bool

Om hanterade resurser ska frigöras.

Extract(Stream)

Extraherar arkivet till den angivna strömmen.

public void Extract(Stream destination)

Parametrar

destination Stream

Målström. Måste vara skrivbar.

Exempel

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Undantag

ArgumentException

destination stöder inte skrivning.

InvalidDataException

Strömmen är korrupt och innehåller inte giltiga data.

Extract(string)

Extraherar arkivet till filen enligt sökvägen.

public FileInfo Extract(string path)

Parametrar

path string

Sökvägen till destinationsfilen. Om filen redan finns kommer den att skrivas över.

Returnerar

FileInfo

Information om den extraherade filen.

Undantag

ArgumentNullException

path är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

path är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till fil path nekas.

PathTooLongException

Den angivna path, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Fil på path innehåller ett kolon (:) i mitten av strängen.

InvalidDataException

Strömmen är korrupt och innehåller inte giltiga data.

ExtractToDirectory(string)

Extraherar innehållet i arkivet till den angivna katalogen.

public void ExtractToDirectory(string destinationDirectory)

Parametrar

destinationDirectory string

Sökvägen till katalogen där de extraherade filerna ska placeras.

Kommentarer

Om katalogen inte finns kommer den att skapas.

Undantag

ArgumentNullException

destinationDirectory är null.

PathTooLongException

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst till befintlig katalog.

NotSupportedException

Om katalogen inte finns innehåller sökvägen ett kolon-tecken (:) som inte är en del av en enhetsbeteckning (“C:").

ArgumentException

destinationDirectory är en sträng med noll längd, innehåller endast vita tecken eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken genom att använda metoden System.IO.Path.GetInvalidPathChars. -eller- sökvägen är förprefixed med eller innehåller endast ett kolon-tecken (:).

IOException

Katalogen som anges av sökvägen är en fil. -eller- Det nätverksnamnet är inte känt.

Open()

Öppnar arkivet för extrahering och tillhandahåller en ström med arkivinnehåll.

public Stream Open()

Returnerar

Stream

Strömmen som representerar innehållet i arkivet.

Exempel

Extraherar arkivet och kopierar det extraherade innehållet 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 metoden Stream.CopyTo för .NET 4.0 och högre: `unpacked.CopyTo(extracted);`

Kommentarer

Läs från strömmen för att få det ursprungliga innehållet i filen. Se avsnittet med exempel.

Save(Stream)

Sparar arkivet till den angivna strömmen.

public void Save(Stream outputStream)

Parametrar

outputStream Stream

Målström.

Exempel

Skriver komprimerad data till http-svarström.

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Kommentarer

outputStream måste vara skrivbar.

Undantag

ArgumentException

outputStream är inte skrivbar.

InvalidOperationException

Källa har inte angivits.

Save(string)

Sparar arkivet till den angivna destinationsfilen.

public void Save(string destinationFileName)

Parametrar

destinationFileName string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

Exempel

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Undantag

ArgumentNullException

destinationFileName är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

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

UnauthorizedAccessException

Åtkomst till fil destinationFileName nekas.

PathTooLongException

Den angivna destinationFileName, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Fil på destinationFileName innehåller ett kolon (:) i mitten av strängen.

SetSource(Stream)

Sätter innehållet som ska komprimeras inom arkivet.

public void SetSource(Stream source)

Parametrar

source Stream

Indataström för arkivet.

Exempel

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

Sätter innehållet som ska komprimeras inom arkivet.

public void SetSource(FileInfo fileInfo)

Parametrar

fileInfo FileInfo

Referens till en fil som ska komprimeras.

Exempel

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

SetSource(string)

Sätter innehållet som ska komprimeras inom arkivet.

public void SetSource(string path)

Parametrar

path string

Sökväg till filen som ska komprimeras.

Exempel

Öppna ett arkiv från fil med sökväg och extrahera det till en MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

Undantag

ArgumentNullException

path är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

path är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till fil path nekas.

PathTooLongException

Den angivna path, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Fil på path innehåller ett kolon (:) i mitten av strängen.

SetSource(TarArchive)

Sätter innehållet som ska komprimeras inom arkivet.

public void SetSource(TarArchive tarArchive)

Parametrar

tarArchive TarArchive

Tar-arkiv som ska komprimeras.

Exempel

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");
    }
}

Kommentarer

Använd denna metod för att komponera gemensamt tar.gz-arkiv.

 Svenska