Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
این کلاس نمایانگر فایل آرشیو bzip2 است. از آن برای ترکیب یا استخراج آرشیوهای bzip2 استفاده کنید.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
وراثت
پیادهسازیها
IArchive, IDisposable, IArchiveFileEntry
اعضای ارثبری شده
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
توضیحات
bzip2 فایلها را با استفاده از الگوریتم فشردهسازی متن مرتبسازی بلوک Burrows-Wheeler و کدگذاری هافمن فشرده میکند. اطلاعات بیشتر: https://en.wikipedia.org/wiki/Bzip2
سازندهها
Bzip2Archive()
یک نمونه جدید از کلاس Aspose.Zip.Bzip2.Bzip2Archive که برای فشردهسازی آماده شده است را مقداردهی اولیه میکند.
public Bzip2Archive()
مثالها
مثال زیر نشان میدهد که چگونه یک فایل را فشرده کنیم.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
یک نمونه جدید از کلاس Aspose.Zip.Bzip2.Bzip2Archive که برای استخراج آماده شده است را مقداردهی اولیه میکند.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
پارامترها
sourceStream
Stream
منبع آرشیو.
loadOptions
Bzip2LoadOptions
گزینههایی برای بارگذاری آرشیو.
مثالها
یک آرشیو را از یک استریم باز کنید و آن را به یک MemoryStream
استخراج کنید.
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
توضیحات
این سازنده فشردهسازی نمیکند. برای فشردهسازی به متد Aspose.Zip.Bzip2.Bzip2Archive.Open مراجعه کنید.
Bzip2Archive(string, Bzip2LoadOptions)
یک نمونه جدید از کلاس Aspose.Zip.Bzip2.Bzip2Archive که برای استخراج آماده شده است را مقداردهی اولیه میکند.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
پارامترها
path
string
مسیر به فایل آرشیو.
loadOptions
Bzip2LoadOptions
گزینههایی برای بارگذاری آرشیو.
مثالها
یک آرشیو را از فایل به مسیر باز کنید و آن را به یک MemoryStream
استخراج کنید.
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
توضیحات
این سازنده فشردهسازی نمیکند. برای فشردهسازی به متد Aspose.Zip.Bzip2.Bzip2Archive.Open مراجعه کنید.
استثناها
path
نال است.
تماسگیرنده مجوز لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضاهای خالی است یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو از حداکثر طول تعیینشده توسط سیستم فراتر میروند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در path
شامل یک دو نقطه (:) در وسط رشته است.
فایل پیدا نشد.
مسیر مشخصشده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.
فایل در حال حاضر باز است.
متدها
Dispose()
وظایف تعریفشده توسط برنامه را که با آزاد کردن، رها کردن یا بازنشانی منابع غیرمدیریتی مرتبط است، انجام میدهد.
public void Dispose()
Dispose(bool)
وظایف تعریفشده توسط برنامه را که با آزاد کردن، رها کردن یا بازنشانی منابع غیرمدیریتی مرتبط است، انجام میدهد.
protected virtual void Dispose(bool disposing)
پارامترها
disposing
bool
آیا منابع مدیریتی باید آزاد شوند.
Extract(Stream)
آرشیو را به استریم ارائهشده استخراج میکند.
public void Extract(Stream destination)
پارامترها
destination
Stream
استریم مقصد. باید قابل نوشتن باشد.
مثالها
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
استثناها
destination
از نوشتن پشتیبانی نمیکند.
Extract(string)
آرشیو را به فایل به وسیله مسیر استخراج میکند.
public FileInfo Extract(string path)
پارامترها
path
string
مسیر به فایل مقصد. اگر فایل قبلاً وجود داشته باشد، بازنویسی خواهد شد.
بازگشت
اطلاعات فایل استخراجشده.
استثناها
path
نال است.
تماسگیرنده مجوز لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضاهای خالی است یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو از حداکثر طول تعیینشده توسط سیستم فراتر میروند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در path
شامل یک دو نقطه (:) در وسط رشته است.
فایل پیدا نشد.
مسیر مشخصشده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.
فایل در حال حاضر باز است.
ExtractToDirectory(string)
محتویات آرشیو را به دایرکتوری ارائهشده استخراج میکند.
public void ExtractToDirectory(string destinationDirectory)
پارامترها
destinationDirectory
string
مسیر به دایرکتوری برای قرار دادن فایلهای استخراجشده.
توضیحات
اگر دایرکتوری وجود نداشته باشد، ایجاد خواهد شد.
استثناها
destinationDirectory
نال است.
path
، نام فایل، یا هر دو از حداکثر طول تعیینشده توسط سیستم فراتر میروند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
تماسگیرنده مجوز لازم برای دسترسی به دایرکتوری موجود را ندارد.
اگر دایرکتوری وجود نداشته باشد، مسیر شامل یک کاراکتر دو نقطه (:) است که بخشی از برچسب درایو نیست (“C:") است.
destinationDirectory
یک رشته با طول صفر است، فقط شامل فضاهای خالی است یا شامل یک یا چند کاراکتر نامعتبر است. میتوانید برای پرسش کاراکترهای نامعتبر از متد System.IO.Path.GetInvalidPathChars استفاده کنید.
-یا- مسیر با یک کاراکتر دو نقطه (:) پیشوند شده یا فقط شامل آن است.
دایرکتوری مشخصشده توسط مسیر یک فایل است. -یا- نام شبکه شناختهشده نیست.
Open()
آرشیو را برای استخراج باز میکند و یک استریم با محتوای آرشیو ارائه میدهد.
public Stream Open()
بازگشت
استریمی که محتوای آرشیو را نمایان میکند.
مثالها
استفاده:
Stream decompressed = archive.Open();
.نت 4.0 و بالاتر - از متد Stream.CopyTo استفاده کنید:
decompressed.CopyTo(httpResponse.OutputStream)
.نت 3.5 و قبل از آن - بایتها را به صورت دستی کپی کنید:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### توضیحات
از استریم بخوانید تا محتوای اصلی فایل را دریافت کنید. به بخش مثالها مراجعه کنید.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
آرشیو را به استریم ارائهشده ذخیره میکند.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
پارامترها
outputStream
Stream
استریم مقصد.
saveOptions
Bzip2SaveOptions
گزینهها برای ذخیره یک آرشیو bzip2. اگر مشخص نشود، اندازه بلوک 900 کیلوبایت استفاده خواهد شد.
مثالها
دادههای فشرده را به استریم پاسخ http مینویسد.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
توضیحات
outputStream
باید قابل نوشتن باشد.
استثناها
منبع داده برای آرشیو ارائه نشده است.
outputStream
قابل نوشتن نیست.
منبع فایل فقط خواندنی است یا یک دایرکتوری است.
مسیر منبع فایل مشخصشده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.
منبع فایل در حال حاضر باز است.
Save(string, Bzip2SaveOptions)
آرشیو را به فایل مقصد مشخصشده ذخیره میکند.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
پارامترها
destinationFileName
string
مسیر آرشیو که باید ایجاد شود. اگر نام فایل مشخصشده به یک فایل موجود اشاره کند، بازنویسی خواهد شد.
saveOptions
Bzip2SaveOptions
گزینهها برای ذخیره یک آرشیو bzip2. اگر مشخص نشود، اندازه بلوک 900 کیلوبایت استفاده خواهد شد.
مثالها
دادههای فشرده را به فایل مینویسد.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
استثناها
destinationFileName
نال است.
تماسگیرنده مجوز لازم برای دسترسی را ندارد.
destinationFileName
خالی است، فقط شامل فضاهای خالی است یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل destinationFileName
رد شده است.
destinationFileName
، نام فایل، یا هر دو از حداکثر طول تعیینشده توسط سیستم فراتر میروند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در destinationFileName
شامل یک دو نقطه (:) در وسط رشته است.
SetSource(Stream)
محتوا را برای فشردهسازی در آرشیو تنظیم میکند.
public void SetSource(Stream source)
پارامترها
source
Stream
استریم ورودی برای آرشیو.
مثالها
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
محتوا را برای فشردهسازی در آرشیو تنظیم میکند.
public void SetSource(FileInfo fileInfo)
پارامترها
fileInfo
FileInfo
مرجع به فایلی که باید فشرده شود.
مثالها
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
محتوا را برای فشردهسازی در آرشیو تنظیم میکند.
public void SetSource(string path)
پارامترها
path
string
مسیر به فایلی که باید فشرده شود.
مثالها
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
استثناها
path
نال است.
تماسگیرنده مجوز لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضاهای خالی است یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو از حداکثر طول تعیینشده توسط سیستم فراتر میروند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در path
شامل یک دو نقطه (:) در وسط رشته است.
SetSource(TarArchive, TarFormat)
محتوا را برای فشردهسازی در آرشیو تنظیم میکند.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
پارامترها
tarArchive
TarArchive
آرشیو Tar که باید فشرده شود.
format
TarFormat
فرمت هدر tar را تعریف میکند.
مثالها
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(tarArchive);
bzippedArchive.Save("archive.tar.bz2");
}
}
توضیحات
از این متد برای ترکیب آرشیو مشترک tar.bz2 استفاده کنید.
SetSource(CpioArchive, CpioFormat)
محتوا را برای فشردهسازی در آرشیو تنظیم میکند.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
پارامترها
cpioArchive
CpioArchive
آرشیو Cpio که باید فشرده شود.
format
CpioFormat
فرمت هدر cpio را تعریف میکند.
مثالها
using (var cpioArchive = new CpioArchive())
{
cpioArchive.CreateEntry("first.bin", "data1.bin");
cpioArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(cpioArchive);
bzippedArchive.Save("archive.cpio.bz2");
}
}
توضیحات
از این متد برای ترکیب آرشیو مشترک cpio.bz2 استفاده کنید.