Class GzipArchive
Pôvodný názov: Aspose.Zip.Gzip Zhromaždenie: Aspose.Zip.dll (25.5.0)
Táto trieda predstavuje súbor archívov gzip. Použite ho na zloženie alebo extrahovanie archívov gzip.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
Z dedičných členov
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Gzip kompresný algoritmus je založený na DEFLATE algoritme, ktorý je kombináciou LZ77 a Huffman kódovanie.
Constructors
GzipArchive()
Iniciuje novú inštanciu triedy Aspose.Zip.Gzip.GzipArchive pripravená na kompresiu.
public GzipArchive()
Examples
Nasledujúci príklad ukazuje, ako komprimovať súbor.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Stream a bool)
Iniciuje novú inštanciu triedy Aspose.Zip.Gzip.GzipArchive pripravená na dekompresiu.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
zdrojom archívu.
parseHeader
bool
Či je potrebné rozdeliť název stream, aby sa zistili vlastnosti, vrátane názvu.
Examples
Otvorte archív z prúdu a extrahujte ho do
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Tento konštruktor nedokáže dekomprimovať. pozri Aspose.Zip.Gzip.GzipArchive.Otvorený spôsob dekompresácie.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
sourceStream’ má nesprávny podpis.
GzipArchive(striekačka, bool)
Iniciuje novú inštanciu triedy Aspose.Zip.Gzip.GzipArchive.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
Cesta k archívnemu súboru.
parseHeader
bool
Či je potrebné rozdeliť název stream, aby sa zistili vlastnosti, vrátane názvu.
Examples
Otvorte archív z súboru podľa trasy a extrahujte ho do
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Tento konštruktor nedokáže dekomprimovať. pozri Aspose.Zip.Gzip.GzipArchive.Otvorený spôsob dekompresácie.
Exceptions
path’ is null.
Návštevník nemá požadované povolenie na prístup.
path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru path" je zamietnutý.
Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor na path’ obsahuje stĺpec (:) v strede riadku.
Súbor je príliš krátky.
Údaje v súbore majú nesprávny podpis.
Properties
Name
Názov originálneho súboru.
public string Name { get; }
Hodnota nehnuteľnosti
UncompressedSize
Dostane veľkosť pôvodného súboru.
public ulong UncompressedSize { get; }
Hodnota nehnuteľnosti
Remarks
Počas dekompresie môže táto vlastnosť obsahovať nesprávnu veľkosť.Ak veľkosť nekompresovaného súboru presahuje 4GB, táto vlastnosť poskytne nesprávnu hodnotu kvôli 32-bitovému limitu v hlavičke.
Methods
Dispose()
Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.
public void Dispose()
Dispose(bool)
Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Mali by sa riadiť riadené zdroje.
Extract(Stream)
Extrakt archívu do poskytnutého prúdu.
public void Extract(Stream destination)
Parameters
destination
Stream
Destinácia stream. musí byť písateľná.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
Stream je korumpovaný a neobsahuje platné údaje.
Extract(Stretnutie)
Extrakt archívu do súboru podľa cesty.
public FileInfo Extract(string path)
Parameters
path
string
Cesta k cieľovému súboru. ak súbor už existuje, bude prepisovaný.
Returns
Informácie o extrahovaných súboroch.
Exceptions
path’ is null.
Návštevník nemá požadované povolenie na prístup.
path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru path" je zamietnutý.
Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor na path’ obsahuje stĺpec (:) v strede riadku.
Stream je korumpovaný a neobsahuje platné údaje.
ExtractToDirectory(Stretnutie)
Obsah archívu extrahuje do poskytnutého katalógu.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Cesta do adresára umiestniť extrahované súbory do.
Remarks
Ak katalóg neexistuje, vytvorí sa.
Exceptions
destinationDirectory’ is null.
Ustanovená trasa, názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad na platformách založených na systéme Windows musia byť trasy menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Návštevník nemá požadované povolenie na prístup k existujúcemu adresáru.
Ak adresár neexistuje, cesta obsahuje znak kolónu (:) ktorý nie je súčasťou označenia disku (“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 (:).
Katalóg špecifikovaný cestou je súbor. -or- Názov siete nie je známy.
Open()
Otvorí archív na extrakciu a poskytuje tok s obsahom archívov.
public Stream Open()
Returns
Stream, ktorý predstavuje obsah archívu.
Examples
Vytiahne archív a kopíruje extrahovaný obsah do streamov súborov.
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);
}
}
Môžete použiť metódu Stream.CopyTo pre .NET 4.0 a vyššie: unpacked.Kopíto(vytiahnuté);
Remarks
Prečítajte si z prúdu, aby ste získali pôvodný obsah súboru.
Save(Stream)
Úspora archívov na poskytnutý prúd.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
Cestovný prúd .
Examples
Napíšte komprimované údaje na HTTP reakčný prúd.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
Musí byť písateľná.
Exceptions
outputStream’ is not writable.
Zdroj nebol dodaný.
Save(Stretnutie)
Uloží archív do poskytnutého cieľového súboru.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Ak sa špecifikovaný názov súboru odkazuje na existujúci súbor, bude prepisovaný.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
Návštevník nemá požadované povolenie na prístup.
destinationFileName’ je prázdny, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru destinationFileName’ je zamietnutý.
Určená destinationFileName’, názov súboru, alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor v destinationFileName’ obsahuje stĺpec (:) v strede riadku.
SetSource(Stream)
Umiestnite obsah, ktorý bude komprimovaný v archíve.
public void SetSource(Stream source)
Parameters
source
Stream
Vstupný prúd pre archív.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Umiestnite obsah, ktorý bude komprimovaný v archíve.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
Odkaz na súbor, ktorý sa má komprimovať.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(Stretnutie)
Umiestnite obsah, ktorý bude komprimovaný v archíve.
public void SetSource(string path)
Parameters
path
string
Spôsob, ako dosiahnuť, aby bol komprimovaný.
Examples
Otvorte archív z súboru podľa trasy a extrahujte ho do
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
Návštevník nemá požadované povolenie na prístup.
path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru path" je zamietnutý.
Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor na path’ obsahuje stĺpec (:) v strede riadku.
SetSource(TarArchive)
Umiestnite obsah, ktorý bude komprimovaný v archíve.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Archív by mal byť komprimovaný.
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
Použite túto metódu na zostavenie spoločného archívu tar.gz.