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.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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
لا يحصل المتصل على إذن الوصول المطلوب.
الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.
يتم رفض الوصول إلى ملف path".
على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن يكون اسم الملف أقل من 260 حرفًا.
ملف في path’ يحتوي على عمود (:) في وسط السلسلة.
الملف قصير جداً.
بيانات الملف لديه توقيع خاطئ.
Properties
Name
اسم الملف الأصلي
public string Name { get; }
قيمة الممتلكات
UncompressedSize
يحصل على حجم الملف الأصلي.
public ulong UncompressedSize { get; }
قيمة الممتلكات
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
destination’ does not support writing.
يتم تدمير البث ولا يحتوي على بيانات صالحة.
Extract(الستار)
استخراج الأرشيف إلى الملف عن طريق الطريق.
public FileInfo Extract(string path)
Parameters
path
string
المسار إلى الملف المستهدف.إذا كان الملف موجودًا بالفعل ، فسيتم إعادة كتابته.
Returns
معلومات عن الملفات المستخرجة.
Exceptions
path’ is null.
لا يحصل المتصل على إذن الوصول المطلوب.
الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.
يتم رفض الوصول إلى ملف path".
على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن يكون اسم الملف أقل من 260 حرفًا.
ملف في path’ يحتوي على عمود (:) في وسط السلسلة.
يتم تدمير البث ولا يحتوي على بيانات صالحة.
ExtractToDirectory(الستار)
استخراج محتوى الأرشيف إلى الدليل المقدم.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
الطريق إلى الدليل لوضع الملفات المستخرجة في.
Remarks
إذا لم يكن الدليل موجودًا ، فسيتم إنشاؤه.
Exceptions
destinationDirectory’ is null.
على سبيل المثال، على منصات ويندوز، يجب أن تكون المسارات أقل من 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.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
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.
لا يحصل المتصل على إذن الوصول المطلوب.
الوجه destinationFileName’ فارغ ، يحتوي فقط على مساحات بيضاء ، أو يحتوي على أحرف غير صحيحة.
يتم رفض الوصول إلى ملف destinationFileName'.
المحدد destinationFileName، اسم الملف، أو كلاهما يتجاوز الحد الأقصى الذي يحدده النظام.على سبيل المثال، على منصات ويندوز، يجب أن تكون المسارات أقل من 248 حرفا، وأسماء الملفات يجب أن تكون أقل من 260 حرفا.
ملف في 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.
لا يحصل المتصل على إذن الوصول المطلوب.
الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.
يتم رفض الوصول إلى ملف path".
على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن يكون اسم الملف أقل من 260 حرفًا.
ملف في 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 المشترك.