Class GzipArchive

Class GzipArchive

nazivni prostor: Aspose.Zip.Gzip Sastav: Aspose.Zip.dll (25.5.0)

Ova klasa predstavlja gzip arhiv datoteku. koristite ga za sastavljanje ili ekstrakciju gzip arhiva.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

naslijeđeni članovi

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

Remarks

Gzip kompresija algoritam temelji se na algoritmu DEFLATE, koji je kombinacija LZ77 i Huffman kodiranje.

Constructors

GzipArchive()

Inicijalizira novu primjenu Aspose.Zip.Gzip.GzipArhiv razreda pripremljen za kompresije.

public GzipArchive()

Examples

Sljedeći primjer pokazuje kako komprimirati datoteku.

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

GzipArchive(Sljedeći članakSljedeći članakBool)

Inicijalizira novi primjer Aspose.Zip.Gzip.GzipArhiv razreda pripremljen za dekompresije.

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

Izvori iz arhiva.

parseHeader bool

Bilo da razdvojite naslov za prijenos kako biste saznali svojstva, uključujući ime.

Examples

Otvorite arhiv iz struje i izvadite ga u

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

Remarks

Ovaj konstruktor ne dekompresira. pogledajte Aspose.Zip.Gzip.GzipArchive.Otvorena metoda za dekompresiranje.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’ ima pogrešan potpis.

GzipArchive(Sljedeći Članak Bool)

Inicijalizira novu primjenu Aspose.Zip.Gzip.GzipArhiv razreda.

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

Put do arhivske datoteke.

parseHeader bool

Bilo da razdvojite naslov za prijenos kako biste saznali svojstva, uključujući ime.

Examples

Otvorite arhiv iz datoteke po putu i izvadite ga na

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

Remarks

Ovaj konstruktor ne dekompresira. pogledajte Aspose.Zip.Gzip.GzipArchive.Otvorena metoda za dekompresiranje.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci path" je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

File na path’ sadrži kolona (:) u sredini trake.

EndOfStreamException

Dosje je previše kratko.

InvalidDataException

Podaci u dosjeu imaju pogrešan potpis.

Properties

Name

Ime izvorne datoteke.

public string Name { get; }

Vrijednost nekretnina

string

UncompressedSize

Dobiva veličinu izvornog datoteke.

public ulong UncompressedSize { get; }

Vrijednost nekretnina

ulong

Remarks

Tijekom dekompresije, ova imovina može sadržavati pogrešnu veličinu.Ako nekomprimirana veličina datoteke prelazi 4GB, ova imovina će dati pogrešnu vrijednost zbog 32-bitne granice u naslovniku.

Methods

Dispose()

On obavlja zadatke definirane po aplikaciji povezane s oslobađanjem, oslobađanjem ili ponovnim oslobađanjem nekontroliranih resursa.

public void Dispose()

Dispose(Bolić)

On obavlja zadatke definirane po aplikaciji povezane s oslobađanjem, oslobađanjem ili ponovnim oslobađanjem nekontroliranih resursa.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Treba li iskoristiti upravljane resurse.

Extract(Stream)

Izvlači arhiv u pruženi tok.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. mora biti pismen.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Stream je korumpiran i ne sadrži valjane podatke.

Extract(String)

Izvlači arhiv u datoteku po putu.

public FileInfo Extract(string path)

Parameters

path string

Put do dosjea odredišta.Ako datoteka već postoji, bit će prepisana.

Returns

FileInfo

Informacije o izvedenim datotekama.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci path" je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

File na path’ sadrži kolona (:) u sredini trake.

InvalidDataException

Stream je korumpiran i ne sadrži valjane podatke.

ExtractToDirectory(String)

Sadržaj arhiva izvlači u pruženi direktorij.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Put do direktora za stavljanje izvedenih datoteka u.

Remarks

Ako direktorija ne postoji, stvorit će se.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

SecurityException

Pozivač nema potrebnu dozvolu za pristup postojećem adresaru.

NotSupportedException

Ako direktorija ne postoji, put sadrži znak kolona (:) koji nije dio oznake pogona (“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

Direktorija određena putem je datoteka. -ili- Ime mreže nije poznato.

Open()

Otvara arhiv za ekstrakciju i pruža protok s sadržajem arhiva.

public Stream Open()

Returns

Stream

Strum koji predstavlja sadržaj arhiva.

Examples

Izvuče arhiv i kopira izvučeni sadržaj u protok datoteke.

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

Možete koristiti metodu Stream.CopyTo za .NET 4.0 i viši: unpacked.Kopy To(izvučeno);

Remarks

Pročitajte iz struje kako biste dobili originalni sadržaj datoteke. pogledajte odjeljak primjera.

Save(Stream)

Sačuvajte arhiv na pruženi tok.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Odredište za tok.

Examples

Napisati komprimirane podatke na HTTP protok odgovora.

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

Remarks

Mora biti pismen.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Izvor nije isporučen.

Save(String)

Sačuvajte arhiv za dostavljenu dosjeu odredišta.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Ako određeno ime datoteke ukazuje na postojeće datoteke, to će biti prepisano.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

destinationFileName’ je prazan, sadrži samo bijele prostore ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci destinationFileName’ je odbijen.

PathTooLongException

Na primjer, na platformama s Windows-om, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

File u destinationFileName’ sadrži kolona (:) u sredini trake.

SetSource(Stream)

Sastavite sadržaj koji će se komprimirati unutar arhiva.

public void SetSource(Stream source)

Parameters

source Stream

Uvodni tok za arhiv.

Examples

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

SetSource(FileInfo)

Sastavite sadržaj koji će se komprimirati unutar arhiva.

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

Referencija na datoteku koja će biti komprimirana.

Examples

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

SetSource(String)

Sastavite sadržaj koji će se komprimirati unutar arhiva.

public void SetSource(string path)

Parameters

path string

Slijedeći članakSlijedeći članakSlijedeći članakSlijedeći članakSlijedeći članakSlijedeće →

Examples

Otvorite arhiv iz datoteke po putu i izvadite ga na

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci path" je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

File na path’ sadrži kolona (:) u sredini trake.

SetSource(TarArchive)

Sastavite sadržaj koji će se komprimirati unutar arhiva.

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

Arhiva mora biti komprimirana.

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

Koristite ovu metodu za sastavljanje zajedničkog arhiva tar.gz.

 Hrvatski