Class GzipArchive

Class GzipArchive

Navne til: Aspose.Zip.Gzip Sammensætning: Aspose.Zip.dll (25.5.0)

Denne klasse repræsenterer en gzip arkivfil. Brug den til at komponere eller udveksle gzip arkiver.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

De arvede medlemmer

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

Remarks

Gzip kompression algoritmen er baseret på DEFLATE algoritmen, som er en kombination af LZ77 og Huffman kodning.

Constructors

GzipArchive()

Initialiserer en ny instans af Aspose.Zip.Gzip.GzipArchive klasse forberedt til komprimering.

public GzipArchive()

Examples

Følgende eksempel viser, hvordan man komprimerer en fil.

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

GzipArchive(Strøm og bool)

Initialiserer en ny instans af Aspose.Zip.Gzip.GzipArchive klasse forberedt til dekomprimering.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

kilden til arkivet.

parseHeader bool

Uanset om at parse stream header til at finde ud af ejendomme, herunder navn. Det giver mening for søgbare stream kun.

Examples

Åbn et arkiv fra en strøm og uddrag det til en

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

Remarks

Denne konstruktør dekomprimerer ikke. Se Aspose.Zip.Gzip.GzipArchive.Open metode til dekomprimering.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

Den sourceStream’ har en forkerte underskrift.

GzipArchive(String og Bool)

Initialiserer en ny instans af Aspose.Zip.Gzip.GzipArchive klasse.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Vejen til arkiveret.

parseHeader bool

Uanset om at parse stream header til at finde ud af ejendomme, herunder navn. Det giver mening for søgbare stream kun.

Examples

Åbne et arkiv fra filen efter vej og uddrag det til en

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

Remarks

Denne konstruktør dekomprimerer ikke. Se Aspose.Zip.Gzip.GzipArchive.Open metode til dekomprimering.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.

UnauthorizedAccessException

Tilgang til filen path’ er nægtet.

PathTooLongException

Den angivne path’, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Filen på path’ indeholder en kolonne (:) i midten af ringen.

EndOfStreamException

Filen er for kort.

InvalidDataException

Data i filen har forkerte underskrifter.

Properties

Name

Navn på en originalfil.

public string Name { get; }

Ejendomsværdi

string

UncompressedSize

Få størrelsen af en original fil.

public ulong UncompressedSize { get; }

Ejendomsværdi

ulong

Remarks

Hvis den ikke-komprimerede filstørrelse overstiger 4 GB, vil denne ejendom give en forkert værdi på grund af den 32-bit begrænsning i header.

Methods

Dispose()

Udfører applikationsdefinerede opgaver, der er forbundet med frigivelse, frigivelse eller genoprettelse af uadministrerede ressourcer.

public void Dispose()

Dispose(Bool)

Udfører applikationsdefinerede opgaver, der er forbundet med frigivelse, frigivelse eller genoprettelse af uadministrerede ressourcer.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Om de forvaltede ressourcer skal fjernes.

Extract(Stream)

Udveksler arkivet til den leverede strøm.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. skal være skriftlig.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream er korrupt og indeholder ikke gyldige data.

Extract(String)

Udveksler arkivet til filen ved vej.

public FileInfo Extract(string path)

Parameters

path string

Hvis filen allerede eksisterer, vil den blive overskrevet.

Returns

FileInfo

Information om udvundet fil.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.

UnauthorizedAccessException

Tilgang til filen path’ er nægtet.

PathTooLongException

Den angivne path’, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Filen på path’ indeholder en kolonne (:) i midten af ringen.

InvalidDataException

Stream er korrupt og indeholder ikke gyldige data.

ExtractToDirectory(String)

Udveksler indholdet af arkivet til den leverede katalog.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Vejen til katalogen til at placere de udvundne filer i.

Remarks

Hvis katalogen ikke eksisterer, vil den blive oprettet.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Den angivne rute, filnavn eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal ruter være mindre end 248 tegn og filnavn skal være mindre end 260 tegn.

SecurityException

Opkalderen har ikke den nødvendige tilladelse til at få adgang til den eksisterende katalog.

NotSupportedException

Hvis direktoriet ikke eksisterer, indeholder vejen en kolon karakter (:) som ikke er en del af en diskmærke (“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, der er angivet af vejen, er en fil. -eller- Netværksnavnet er ikke kendt.

Open()

bner arkivet til ekstraktion og giver en strøm med arkivindhold.

public Stream Open()

Returns

Stream

Den strøm, der repræsenterer indholdet af arkivet.

Examples

Udvider arkivet og kopierer udvundet indhold til 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 bruge Stream.CopyTo-metoden til .NET 4.0 og højere: unpacked.Kopier(udvundet);

Remarks

Læs fra strømmen for at få det oprindelige indhold af en fil. Se eksempler sektion.

Save(Stream)

Sparer arkiver til den leverede strøm.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Destinationstrøm.

Examples

Skriv komprimerede data til http responsstrøm.

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

Remarks

Det skal være skriftligt.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Kilde er ikke leveret.

Save(String)

Sparer arkiver til den foreløbige fil, der leveres.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Hvis den angivne filnavne angiver en eksisterende fil, vil den blive oversat.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

Den destinationFileName’ er tom, indeholder kun hvide rum, eller indeholder ugyldige tegn.

UnauthorizedAccessException

Tilgang til filen destinationFileName’ er nægtet.

PathTooLongException

Den angivne destinationFileName’, filnavn, eller begge overskrider systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Fil på destinationFileName’ indeholder en kolonne (:) i midten af ringen.

SetSource(Stream)

Indsæt indholdet til at blive komprimeret inden for arkivet.

public void SetSource(Stream source)

Parameters

source Stream

Indtægtsstrøm for arkivet.

Examples

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

SetSource(FileInfo)

Indsæt indholdet til at blive komprimeret inden for arkivet.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Den reference til en fil, der skal komprimeres.

Examples

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

SetSource(String)

Indsæt indholdet til at blive komprimeret inden for arkivet.

public void SetSource(string path)

Parameters

path string

Vejen til fil at blive komprimeret.

Examples

Åbne et arkiv fra filen efter vej og uddrag det til en

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.

UnauthorizedAccessException

Tilgang til filen path’ er nægtet.

PathTooLongException

Den angivne path’, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Filen på path’ indeholder en kolonne (:) i midten af ringen.

SetSource(TarArchive)

Indsæt indholdet til at blive komprimeret inden for arkivet.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Arkiverne skal komprimeres.

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

Brug denne metode til at oprette fælles tar.gz-arkiv.

 Dansk