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(البول، البول)

يبدأ مثالًا جديدًا من فئة 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 method for decompressing.

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.Open method for decompressing.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

لا يحصل المتصل على إذن الوصول المطلوب.

ArgumentException

الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف path".

PathTooLongException

على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 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(الستار)

استخراج الأرشيف إلى الملف عن طريق الطريق.

public FileInfo Extract(string path)

Parameters

path string

المسار إلى الملف المستهدف.إذا كان الملف موجودًا بالفعل ، فسيتم إعادة كتابته.

Returns

FileInfo

معلومات عن الملفات المستخرجة.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

لا يحصل المتصل على إذن الوصول المطلوب.

ArgumentException

الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف path".

PathTooLongException

على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 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

إذا لم يكن الدليل موجودًا ، فإن المسار يحتوي على حرف العمود الفقري (:) الذي ليس جزءًا من علامة محرك الأقراص (“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.KopiTo(مستخرج)؛

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(الستار)

حفظ الأرشيف إلى ملف الوجهة المقدمة.

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’ فارغ ، يحتوي فقط على مساحات بيضاء ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف destinationFileName'.

PathTooLongException

المحدد destinationFileName، اسم الملف، أو كلاهما يتجاوز الحد الأقصى الذي يحدده النظام.على سبيل المثال، على منصات ويندوز، يجب أن تكون المسارات أقل من 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

الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف path".

PathTooLongException

على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 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 المشترك.

 عربي