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

الگوریتم فشرده سازی 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(بایگانی برچسب: bool)

شروع یک مثال جدید از کلاس Aspose.Zip.Gzip.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.Open روش برای فشرده سازی.

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream" دارای امضای اشتباه است.

GzipArchive(بایگانی برچسب ها: bool)

شروع یک مثال جدید از کلاس 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

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

آیا منابع مدیریت شده باید از بین برود؟

Extract(Stream)

آرشیو را به جریان ارائه شده اضافه کنید.

public void Extract(Stream destination)

Parameters

destination Stream

بایگانی برچسب ها: باید نوشته شود

Examples

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

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

جریان فاسد است و حاوی اطلاعات معتبر نیست.

Extract(String)

آرشیو را از طریق مسیر به فایل اضافه کنید.

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(String)

محتوای آرشیو را به دایرکتوری ارائه شده استخراج کنید.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

مسیر به دایرکتوری برای قرار دادن فایل های استخراج شده در.

Remarks

اگر دایرکتوری وجود نداشته باشد، ایجاد خواهد شد.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

برای مثال، در پلتفرم های مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر باشد و نام فایل ها باید کمتر از 260 کاراکتر باشد.

SecurityException

تماس گیرنده اجازه لازم برای دسترسی به دایرکتوری موجود را ندارد.

NotSupportedException

اگر دایرکتوری وجود ندارد، مسیر حاوی یک کاراکتر ستون فقرات (:) است که بخشی از یک برچسب درایو نیست (“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

دایرکتوری مشخص شده توسط مسیر یک فایل است. -یا- نام شبکه شناخته نشده است.

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

شما می توانید از روش Stream.CopyTo برای .NET 4.0 و بالاتر استفاده کنید: unpacked.Kopy to(extracted).

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

ArgumentException

outputStream’ is not writable.

InvalidOperationException

منبع ارائه نشده است.

Save(String)

ذخیره آرشیو به فایل مقصد ارائه شده.

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

کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه

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(String)

قرار دادن محتوا برای فشرده سازی در داخل آرشیو

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 استفاده کنید.

 فارسی