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
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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.
Tilgang til filen path’ er nægtet.
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.
Filen på path’ indeholder en kolonne (:) i midten af ringen.
Filen er for kort.
Data i filen har forkerte underskrifter.
Properties
Name
Navn på en originalfil.
public string Name { get; }
Ejendomsværdi
UncompressedSize
Få størrelsen af en original fil.
public ulong UncompressedSize { get; }
Ejendomsværdi
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
destination’ does not support writing.
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
Information om udvundet fil.
Exceptions
path’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.
Tilgang til filen path’ er nægtet.
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.
Filen på path’ indeholder en kolonne (:) i midten af ringen.
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
destinationDirectory’ is null.
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.
Opkalderen har ikke den nødvendige tilladelse til at få adgang til den eksisterende katalog.
Hvis direktoriet ikke eksisterer, indeholder vejen en kolon karakter (:) som ikke er en del af en diskmærke (“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, 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
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
Den destinationFileName’ er tom, indeholder kun hvide rum, eller indeholder ugyldige tegn.
Tilgang til filen destinationFileName’ er nægtet.
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.
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
path’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.
Tilgang til filen path’ er nægtet.
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.
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.