Class GzipArchive

Class GzipArchive

Именује се: Aspose.Zip.Gzip Асамблеја: Aspose.Zip.dll (25.5.0)

Ова класа представља gzip архивни датотеку. користите га за састављање или извлачење gzip архива.

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

Наслеђени чланови

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

Remarks

Алгоритам компресије ГЗИП-а заснива се на алгоритам ДЕФЛАТЕ-а, који је комбинација ЛЗ77 и Хуффмана кодирања.

Constructors

GzipArchive()

Иницијалише нову инстанцију Асписе.Зип.Гзип.ГзипАрхиве класе припремљене за компресију.

public GzipArchive()

Examples

Следећи пример показује како да компресирате датотеку.

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

GzipArchive(Стрејм , Боол)

Иницијалише нову инстанцију Асписе.Зип.Гзип.ГзипАрхиве класе припремљене за декомпресију.

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.Отварање метода за декомпресију.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

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.Отварање метода за декомпресију.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Позивач нема захтеван дозволу за приступ.

ArgumentException

path’ је празан, садржи само беле просторе, или садржи неважеће знакове.

UnauthorizedAccessException

Приступ датотеци path’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у path’ садржи колону (:) у средини редове.

EndOfStreamException

Датотека је превише кратка.

InvalidDataException

Датотеке у датотеци имају погрешну потпис.

Properties

Name

Име оригиналног датотеке.

public string Name { get; }

Вредност имовине

string

UncompressedSize

Добија величину оригиналног датотеке.

public ulong UncompressedSize { get; }

Вредност имовине

ulong

Remarks

Током декомпресије, ова имовина може да садржи погрешну величину.Ако некомпресирана величина датотеке прелази 4ГБ, ова имовина ће дати погрешну вредност због 32-битног ограничења у наслову.

Methods

Dispose()

Извршава апликације-дефинисане задатке повезане са ослобађањем, ослобађањем или рестаурацијом неконтролисаних ресурса.

public void Dispose()

Dispose(Боол)

Извршава апликације-дефинисане задатке повезане са ослобађањем, ослобађањем или рестаурацијом неконтролисаних ресурса.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Da li je potrebno iskoristiti upravljane resurse?

Extract(Stream)

Истраживање архива у пруженом току.

public void Extract(Stream destination)

Parameters

destination Stream

Destination stream. mora da bude pisano.

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

Поток је корумпиран и не садржи важеће податке.

Extract(Стринг)

Истраживање архива у датотеку путем.

public FileInfo Extract(string path)

Parameters

path string

Пут до дестинације датотеке.Ако датотека већ постоји, она ће бити преписана.

Returns

FileInfo

Информације о извађеним датотекама.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Позивач нема захтеван дозволу за приступ.

ArgumentException

path’ је празан, садржи само беле просторе, или садржи неважеће знакове.

UnauthorizedAccessException

Приступ датотеци path’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у path’ садржи колону (:) у средини редове.

InvalidDataException

Поток је корумпиран и не садржи важеће податке.

ExtractToDirectory(Стринг)

Екстрактира садржај архива у обезбеђени директоријум.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Пут у директоријум да стави извучене датотеке у.

Remarks

Ако директоријум не постоји, он ће бити креиран.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотека морају бити мање од 260 знакова.

SecurityException

Позивач нема неопходне дозволе за приступ постојећем директоријуму.

NotSupportedException

Ако директоријум не постоји, пут садржи карактер колона (:) који није део етикета дискова (“Ц:”).

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

Директоријум који је одређен путем је датотека. -или- Име мреже није познато.

Open()

Отворити архиву за екстракцију и пружити поток са садржајем архива.

public Stream Open()

Returns

Stream

Поток који представља садржај архива.

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

Možete koristiti metodu Stream.CopyTo za .NET 4.0 i noviji: unpacked.KopiTo(ekstraktirani);

Remarks

Прочитајте из струје да бисте добили оригинални садржај датотеке.

Save(Stream)

Сачува архиве на пружену струју.

public void Save(Stream outputStream)

Parameters

outputStream Stream

Дисциплинарни ток.

Examples

Пише компресиране податке у ХТП реакционом току.

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

Remarks

Mora da bude pismen.

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

Извор није обезбеђен.

Save(Стринг)

Сачува архиве на датотеку дестинације која је обезбеђена.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Ако наведено име датотеке указује на постојећи датотеку, то ће бити преписано.

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Позивач нема захтеван дозволу за приступ.

ArgumentException

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

UnauthorizedAccessException

Приступ датотеци destinationFileName’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у 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

ArgumentNullException

path’ is null.

SecurityException

Позивач нема захтеван дозволу за приступ.

ArgumentException

path’ је празан, садржи само беле просторе, или садржи неважеће знакове.

UnauthorizedAccessException

Приступ датотеци path’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у 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 архив.

 Српски