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(بایگانی برچسب: 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
sourceStream’ is null.
sourceStream’ is too short.
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
path’ is null.
متقاضی مجوز لازم برای دسترسی ندارد.
مسیر path" خالی است، فقط حاوی فضاهای سفید است یا حاوی کاراکترهای نادرست است.
دسترسی به فایل path" رد می شود.
برای مثال، در پلتفرم های مبتنی بر ویندوز، مسیرها باید کمتر از 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(String)
آرشیو را از طریق مسیر به فایل اضافه کنید.
public FileInfo Extract(string path)
Parameters
path
string
مسیر به مقصد فایل.اگر فایل در حال حاضر وجود دارد، آن را بیش از حد نوشته خواهد شد.
Returns
اطلاعات مربوط به فایل های استخراج شده
Exceptions
path’ is null.
متقاضی مجوز لازم برای دسترسی ندارد.
مسیر path" خالی است، فقط حاوی فضاهای سفید است یا حاوی کاراکترهای نادرست است.
دسترسی به فایل path" رد می شود.
برای مثال، در پلتفرم های مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر باشد و نام فایل ها باید کمتر از 260 کاراکتر باشد.
فایل در path" حاوی یک ستون (:) در وسط ردیف است.
جریان فاسد است و حاوی اطلاعات معتبر نیست.
ExtractToDirectory(String)
محتوای آرشیو را به دایرکتوری ارائه شده استخراج کنید.
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.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
outputStream’ is not writable.
منبع ارائه نشده است.
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
destinationFileName’ is null.
متقاضی مجوز لازم برای دسترسی ندارد.
کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه
دسترسی به فایل 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(String)
قرار دادن محتوا برای فشرده سازی در داخل آرشیو
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" خالی است، فقط حاوی فضاهای سفید است یا حاوی کاراکترهای نادرست است.
دسترسی به فایل path" رد می شود.
برای مثال، در پلتفرم های مبتنی بر ویندوز، مسیرها باید کمتر از 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 استفاده کنید.