Class GzipArchive
Името на пространството: Aspose.Zip.Gzip Асамблея: Aspose.Zip.dll (25.5.0)
GZIP. Използвайте го, за да съставите или извлечете архиви GZIP.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive , IDisposable , IArchiveFileEntry
наследници
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Gzip се основава на алгоритъма DEFLATE, който е комбинация от LZ77 и Huffman.
Constructors
GzipArchive()
Aspose.Zip.Gzip.GzipArchive.
public GzipArchive()
Examples
Следващият пример показва как да компресирате файл.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Пътуване , Боул)
Инициализира нова инстанция на клас Aspose.Zip.Gzip.Archive подготвен за декомпресиране.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
Parameters
sourceStream
Stream
Източник на архивите.
parseHeader
bool
Независимо дали да разпределите заглавието на потока, за да откриете свойствата, включително и името.
Examples
Отворете архива от поток и го извлечете в
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
Remarks
Aspose.Zip.Gzip.GzipArchive.Open.
Exceptions
sourceStream’ is null.
sourceStream’ is too short.
The sourceStream.
GzipArchive(Стрелец, Боул)
Aspose.Zip.Gzip.GzipArchive.
public GzipArchive(string path, bool parseHeader = false)
Parameters
path
string
Пътят към архивите.
parseHeader
bool
Независимо дали да разпределите заглавието на потока, за да откриете свойствата, включително и името.
Examples
Отворете архива от файла по маршрут и го извлечете в
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
Remarks
Aspose.Zip.Gzip.GzipArchive.Open.
Exceptions
path’ is null.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>path.
Филмът е твърде кратък.
Данните в файла имат погрешен подпис.
Properties
Name
Името на оригиналния файл.
public string Name { get; }
стойност на имота
UncompressedSize
Получава размера на оригиналния файл.
public ulong UncompressedSize { get; }
стойност на имота
Remarks
4GB, това свойство ще даде грешна стойност поради границата от 32.
Methods
Dispose()
Извършва задачите, определени от приложението, свързани с освобождаването, изтеглянето или презареждането на неконтролирани ресурси.
public void Dispose()
Dispose(Боул)
Извършва задачите, определени от приложението, свързани с освобождаването, изтеглянето или презареждането на неконтролирани ресурси.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Трябва ли да се премахнат управляваните ресурси.
Extract(Stream)
Извлечете архива в предоставения поток.
public void Extract(Stream destination)
Parameters
destination
Stream
Продължителността на дестинацията. трябва да бъде писателна.
Examples
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination’ does not support writing.
Потокът е корумпиран и не съдържа валидни данни.
Extract(Стрий)
Извлечете архива в файла по път.
public FileInfo Extract(string path)
Parameters
path
string
Пътят към целевия файл.Ако файлът вече съществува, той ще бъде пренаписан.
Returns
Информация за извлечени файлове.
Exceptions
path’ is null.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>path.
Потокът е корумпиран и не съдържа валидни данни.
ExtractToDirectory(Стрий)
Извлечете съдържанието на архива в предоставения каталог.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Пътят към директората за поставяне на извлечените файлове.
Remarks
Ако директорията не съществува, тя ще бъде създадена.
Exceptions
destinationDirectory’ is null.
Windows, пътеките трябва да са по-малко от 248 символа и имената на файла трябва да са по-малко от 260.
Призователят не разполага с изискваното разрешение за достъп до съществуващата директория.
Ако директорията не съществува, пътят съдържа символ на колона (:) който не е част от етикета на диска (“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 (:).
Директорът, посочен по пътя, е файл. -или- Име на мрежата не е известно.
Open()
Отваря архива за екстракция и осигурява поток с съдържание на архиви.
public Stream Open()
Returns
Потокът, който представлява съдържанието на архива.
Examples
Извлича архивите и копира извлеченото съдържание към потока на файловете.
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);
}
}
Можете да използвате метода Stream.CopyTo за .NET 4.0 и по-висока: unpacked.KopyTo(извлечен);
Remarks
Прочетете от потока, за да получите оригиналното съдържание на файл. виж раздел Примери.
Save(Stream)
Съхранява архиви към предоставения поток.
public void Save(Stream outputStream)
Parameters
outputStream
Stream
Пътят на дестинацията.
Examples
Напишете компресираните данни към HTTP реакционния поток.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
Трябва да е писателно.
Exceptions
outputStream’ is not writable.
Източникът не е доставен.
Save(Стрий)
Съхранява архиви към предоставения дестинационен файл.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Ако посоченото име на файла указва на съществуващ файл, той ще бъде надписано.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
destinationFileName’ is null.
Призователят няма изискваното разрешение за достъп.
code class=“paramref”>destinationFileName.
code class=“paramref”>destinationFileName.
code class=“paramref”>destinationFileName’, име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 символа, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>destinationFileName.
SetSource(Stream)
Поставете съдържанието, което трябва да бъде компресирано в архива.
public void SetSource(Stream source)
Parameters
source
Stream
Входният поток за архива.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
Поставете съдържанието, което трябва да бъде компресирано в архива.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
Позоваване на файл, който трябва да бъде компресиран.
Examples
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(Стрий)
Поставете съдържанието, което трябва да бъде компресирано в архива.
public void SetSource(string path)
Parameters
path
string
Пътят към файла да бъде компресиран.
Examples
Отворете архива от файла по маршрут и го извлечете в
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
Exceptions
path’ is null.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>path.
SetSource(TarArchive)
Поставете съдържанието, което трябва да бъде компресирано в архива.
public void SetSource(TarArchive tarArchive)
Parameters
tarArchive
TarArchive
Архивът трябва да се компресира.
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
Използвайте този метод, за да съставите съвместен архив tar.gz.