Class Archive

Class Archive

Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)

این کلاس نمایانگر فایل آرشیو zip است. از آن برای ترکیب، استخراج یا به‌روزرسانی آرشیوهای zip استفاده کنید.

public class Archive : IArchive, IDisposable

وراثت

objectArchive

پیاده‌سازی‌ها

IArchive, IDisposable

اعضای وراثت‌یافته

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

سازنده‌ها

Archive(ArchiveEntrySettings)

یک نمونه جدید از کلاس Aspose.Zip.Archive را با تنظیمات اختیاری برای ورودی‌های آن مقداردهی اولیه می‌کند.

public Archive(ArchiveEntrySettings newEntrySettings = null)

پارامترها

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای موارد Aspose.Zip.ArchiveEntry که به تازگی اضافه شده‌اند. اگر مشخص نشده باشد، از فشرده‌سازی Deflate بدون رمزگذاری استفاده خواهد شد.

مثال‌ها

مثال زیر نشان می‌دهد که چگونه یک فایل واحد را با تنظیمات پیش‌فرض فشرده‌سازی کنید.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)

یک نمونه جدید از کلاس Aspose.Zip.Archive را مقداردهی اولیه می‌کند و لیست ورودی‌هایی که می‌توانند از آرشیو استخراج شوند را تشکیل می‌دهد.

public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

پارامترها

sourceStream Stream

منبع آرشیو.

loadOptions ArchiveLoadOptions

گزینه‌ها برای بارگذاری آرشیو موجود.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای موارد Aspose.Zip.ArchiveEntry که به تازگی اضافه شده‌اند. اگر مشخص نشده باشد، از فشرده‌سازی Deflate بدون رمزگذاری استفاده خواهد شد.

مثال‌ها

مثال زیر یک آرشیو رمزگذاری‌شده را استخراج می‌کند و سپس اولین ورودی را به یک MemoryStream فشرده می‌کند.

var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

نکات

این سازنده هیچ ورودی‌ای را فشرده نمی‌کند. به متد Aspose.Zip.ArchiveEntry.Open(System.String) برای فشرده‌سازی مراجعه کنید.

استثناها

ArgumentException

sourceStream قابل جستجو نیست.

InvalidDataException

هدر رمزگذاری برای AES با روش فشرده‌سازی WinZip تناقض دارد.

Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)

یک نمونه جدید از کلاس Aspose.Zip.Archive را مقداردهی اولیه می‌کند و لیست ورودی‌هایی که می‌توانند از آرشیو استخراج شوند را تشکیل می‌دهد.

public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

پارامترها

path string

مسیر کامل یا مسیر نسبی به فایل آرشیو.

loadOptions ArchiveLoadOptions

گزینه‌ها برای بارگذاری آرشیو موجود.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای موارد Aspose.Zip.ArchiveEntry که به تازگی اضافه شده‌اند. اگر مشخص نشده باشد، از فشرده‌سازی Deflate بدون رمزگذاری استفاده خواهد شد.

مثال‌ها

مثال زیر یک آرشیو رمزگذاری‌شده را استخراج می‌کند و سپس اولین ورودی را به یک MemoryStream فشرده می‌کند.

var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

نکات

این سازنده هیچ ورودی‌ای را فشرده نمی‌کند. به متد Aspose.Zip.ArchiveEntry.Open(System.String) برای فشرده‌سازی مراجعه کنید.

استثناها

ArgumentNullException

path null است.

SecurityException

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

ArgumentException

path خالی است، تنها شامل فاصله‌های سفید است، یا شامل کاراکترهای نامعتبر است.

UnauthorizedAccessException

دسترسی به فایل path رد شده است.

PathTooLongException

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

NotSupportedException

فایل در path شامل یک کولن (:) در وسط رشته است.

FileNotFoundException

فایل پیدا نشد.

DirectoryNotFoundException

مسیر مشخص شده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.

IOException

فایل در حال حاضر باز است.

InvalidDataException

فایل خراب شده است.

Archive(string, string[], ArchiveLoadOptions)

یک نمونه جدید از کلاس Aspose.Zip.Archive را از آرشیو zip چندحجمی مقداردهی اولیه می‌کند و لیست ورودی‌هایی که می‌توانند از آرشیو استخراج شوند را تشکیل می‌دهد.

public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)

پارامترها

mainSegment string

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

معمولاً این بخش دارای پسوند *.zip است و از دیگران کوچکتر است.

segmentsInOrder string[]

مسیر به هر بخش به جز آخرین بخش آرشیو zip چندحجمی به ترتیب.

معمولاً نام آنها filename.z01، filename.z02، ...، filename.z(n-1) است.

loadOptions ArchiveLoadOptions

گزینه‌ها برای بارگذاری آرشیو موجود.

مثال‌ها

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

using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
    a.ExtractToDirectory("destination");
}

استثناها

EndOfStreamException

نمی‌توان هدرهای ZIP را بارگذاری کرد زیرا فایل‌های ارائه شده خراب شده‌اند.

ویژگی‌ها

Entries

ورودی‌های نوع Aspose.Zip.ArchiveEntry را که آرشیو را تشکیل می‌دهند، دریافت می‌کند.

public ReadOnlyCollection<archiveentry> Entries { get; }

مقدار ویژگی

ReadOnlyCollection<ArchiveEntry&gt;

NewEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای موارد Aspose.Zip.ArchiveEntry که به تازگی اضافه شده‌اند.

public ArchiveEntrySettings NewEntrySettings { get; }

مقدار ویژگی

ArchiveEntrySettings

متدها

CreateEntries(DirectoryInfo, bool)

تمام فایل‌ها و دایرکتوری‌ها را به طور بازگشتی به آرشیو اضافه می‌کند.

public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

پارامترها

directory DirectoryInfo

دایرکتوری برای فشرده‌سازی.

includeRootDirectory bool

نشان می‌دهد که آیا دایرکتوری ریشه خود را شامل شود یا خیر.

بازگشت

Archive

آرشیو با ورودی‌های تشکیل شده.

مثال‌ها

using (Archive archive = new Archive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.zip");
}

استثناها

DirectoryNotFoundException

مسیر به directory نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.

SecurityException

فراخوانی‌کننده مجوز لازم برای دسترسی به directory را ندارد.

CreateEntries(string, bool)

تمام فایل‌ها و دایرکتوری‌ها را به طور بازگشتی به آرشیو اضافه می‌کند.

public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

پارامترها

sourceDirectory string

دایرکتوری برای فشرده‌سازی.

includeRootDirectory bool

نشان می‌دهد که آیا دایرکتوری ریشه خود را شامل شود یا خیر.

بازگشت

Archive

آرشیو با ورودی‌های تشکیل شده.

مثال‌ها

using (Archive archive = new Archive())
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.zip");
}

CreateEntry(string, string, bool, ArchiveEntrySettings)

یک ورودی واحد را درون آرشیو ایجاد می‌کند.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

پارامترها

name string

نام ورودی.

path string

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

openImmediately bool

اگر بله باشد، فایل بلافاصله باز می‌شود، در غیر این صورت فایل در زمان ذخیره آرشیو باز می‌شود.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای مورد Aspose.Zip.ArchiveEntry اضافه شده.

بازگشت

ArchiveEntry

نمونه ورودی zip.

مثال‌ها

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

نکات

نام ورودی به طور کامل درون پارامتر name تنظیم می‌شود. نام فایلی که در پارامتر path ارائه شده است بر نام ورودی تأثیری ندارد.

اگر فایل بلافاصله با پارامتر openImmediately باز شود، تا زمانی که آرشیو ذخیره نشود، مسدود می‌شود.

استثناها

ArgumentNullException

path null است.

SecurityException

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

ArgumentException

path خالی است، تنها شامل فاصله‌های سفید است، یا شامل کاراکترهای نامعتبر است.

UnauthorizedAccessException

دسترسی به فایل path رد شده است.

PathTooLongException

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

NotSupportedException

فایل در path شامل یک کولن (:) در وسط رشته است.

CreateEntry(string, Stream, ArchiveEntrySettings)

یک ورودی واحد را درون آرشیو ایجاد می‌کند.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)

پارامترها

name string

نام ورودی.

source Stream

جریان ورودی برای ورودی.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای مورد Aspose.Zip.ArchiveEntry اضافه شده.

بازگشت

ArchiveEntry

نمونه ورودی zip.

مثال‌ها

using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.zip");
}

CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

یک ورودی واحد را درون آرشیو ایجاد می‌کند.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

پارامترها

name string

نام ورودی.

fileInfo FileInfo

متاداده فایل برای فشرده‌سازی.

openImmediately bool

اگر بله باشد، فایل بلافاصله باز می‌شود، در غیر این صورت فایل در زمان ذخیره آرشیو باز می‌شود.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای مورد Aspose.Zip.ArchiveEntry اضافه شده.

بازگشت

ArchiveEntry

نمونه ورودی zip.

مثال‌ها

آرشیو را با ورودی‌هایی که با روش‌های رمزگذاری و گذرواژه‌های مختلف رمزگذاری شده‌اند، ترکیب کنید.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
        archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
        archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
        archive.Save(zipFile);
    }
}

نکات

نام ورودی به طور کامل درون پارامتر name تنظیم می‌شود. نام فایلی که در پارامتر fileInfo ارائه شده است بر نام ورودی تأثیری ندارد.

اگر فایل بلافاصله با پارامتر openImmediately باز شود، تا زمانی که آرشیو ذخیره نشود، مسدود می‌شود.

استثناها

UnauthorizedAccessException

fileInfo فقط خواندنی است یا یک دایرکتوری است.

DirectoryNotFoundException

مسیر مشخص شده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.

IOException

فایل در حال حاضر باز است.

CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

یک ورودی واحد را درون آرشیو ایجاد می‌کند.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)

پارامترها

name string

نام ورودی.

source Stream

جریان ورودی برای ورودی.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای مورد Aspose.Zip.ArchiveEntry اضافه شده.

fileInfo FileSystemInfo

متاداده فایل یا پوشه برای فشرده‌سازی.

بازگشت

ArchiveEntry

نمونه ورودی zip.

مثال‌ها

آرشیو را با ورودی رمزگذاری‌شده ترکیب کنید.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin")); 
        archive.Save(zipFile);
    }
}

نکات

نام ورودی به طور کامل درون پارامتر name تنظیم می‌شود. نام فایلی که در پارامتر fileInfo ارائه شده است بر نام ورودی تأثیری ندارد.

fileInfo می‌تواند به System.IO.DirectoryInfo اشاره کند اگر ورودی یک دایرکتوری باشد.

استثناها

InvalidOperationException

هر دو source و fileInfo null هستند یا source null است و fileInfo به دایرکتوری اشاره می‌کند.

CreateEntry(string, Func<stream>, ArchiveEntrySettings)

یک ورودی واحد را درون آرشیو ایجاد می‌کند.

public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)

پارامترها

name string

نام ورودی.

streamProvider Func<Stream&gt;

متدی که جریان ورودی را برای ورودی فراهم می‌کند.

newEntrySettings ArchiveEntrySettings

تنظیمات فشرده‌سازی و رمزگذاری استفاده شده برای مورد Aspose.Zip.ArchiveEntry اضافه شده.

بازگشت

ArchiveEntry

نمونه ورودی zip.

مثال‌ها

آرشیو را با ورودی رمزگذاری‌شده ترکیب کنید.

System.Func&lt;Stream&gt; provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")))); 
        archive.Save(zipFile);
    }
}

نکات

این متد برای .NET Framework 4.0 و بالاتر و برای نسخه .NET Standard 2.0 است.

DeleteEntry(ArchiveEntry)

اولین وقوع یک ورودی خاص را از لیست ورودی‌ها حذف می‌کند.

public Archive DeleteEntry(ArchiveEntry entry)

پارامترها

entry ArchiveEntry

ورودی برای حذف از لیست ورودی‌ها.

بازگشت

Archive

آرشیو با ورودی حذف‌شده.

مثال‌ها

در اینجا نحوه حذف تمام ورودی‌ها به جز آخرین ورودی آمده است:

using (var archive = new Archive("archive.zip"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save("last_entry.zip");
}

استثناها

ObjectDisposedException

آرشیو حذف شده است.

DeleteEntry(int)

ورودی را از لیست ورودی‌ها بر اساس ایندکس حذف می‌کند.

public Archive DeleteEntry(int entryIndex)

پارامترها

entryIndex int

ایندکس صفر-مبنا از ورودی برای حذف.

بازگشت

Archive

آرشیو با ورودی حذف‌شده.

مثال‌ها

using (var archive = new TarArchive("two_files.zip"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.zip");
}

استثناها

ObjectDisposedException

آرشیو حذف شده است.

ArgumentOutOfRangeException

entryIndex کمتر از 0 است.-یا- entryIndex برابر یا بزرگتر از تعداد Entries است.

Dispose()

وظایف تعریف‌شده توسط برنامه را که مربوط به آزادسازی، آزادسازی یا بازنشانی منابع غیرمدیریتی است، انجام می‌دهد.

public void Dispose()

Dispose(bool)

وظایف تعریف‌شده توسط برنامه را که مربوط به آزادسازی، آزادسازی یا بازنشانی منابع غیرمدیریتی است، انجام می‌دهد.

protected virtual void Dispose(bool disposing)

پارامترها

disposing bool

آیا منابع مدیریتی باید آزاد شوند یا خیر.

ExtractToDirectory(string)

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

public void ExtractToDirectory(string destinationDirectory)

پارامترها

destinationDirectory string

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

مثال‌ها

using (var archive = new Archive("archive.zip")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

نکات

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

استثناها

ArgumentNullException

destinationDirectory null است.

PathTooLongException

مسیر مشخص شده، نام فایل، یا هر دو از طول حداکثر تعیین‌شده توسط سیستم فراتر رفته‌اند. به عنوان مثال، در پلتفرم‌های مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایل‌ها باید کمتر از 260 کاراکتر باشند.

SecurityException

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

NotSupportedException

اگر دایرکتوری وجود نداشته باشد، مسیر شامل یک کاراکتر کولن (:) باشد که بخشی از برچسب درایو (“C:") نیست.

ArgumentException

destinationDirectory یک رشته با طول صفر است، تنها شامل فاصله سفید است، یا شامل یک یا چند کاراکتر نامعتبر است. می‌توانید برای جستجوی کاراکترهای نامعتبر از متد System.IO.Path.GetInvalidPathChars استفاده کنید. -یا- مسیر با یک کاراکتر کولن (: ) پیشوند شده باشد، یا فقط شامل آن باشد.

IOException

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

InvalidDataException

گذرواژه نادرست ارائه شده است. - یا - آرشیو خراب شده است.

Save(Stream, ArchiveSaveOptions)

آرشیو را به جریانی که ارائه شده ذخیره می‌کند.

public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)

پارامترها

outputStream Stream

جریان مقصد.

saveOptions ArchiveSaveOptions

گزینه‌ها برای ذخیره آرشیو.

مثال‌ها

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry.bin", "data.bin");
        archive.Save(zipFile);
    }
}

نکات

outputStream باید قابل نوشتن باشد.

استثناها

ArgumentException

outputStream قابل نوشتن نیست.

ObjectDisposedException

آرشیو حذف شده است.

Save(string, ArchiveSaveOptions)

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

public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)

پارامترها

destinationFileName string

مسیر آرشیوی که باید ایجاد شود. اگر نام فایل مشخص شده به یک فایل موجود اشاره کند، آن فایل بازنویسی خواهد شد.

saveOptions ArchiveSaveOptions

گزینه‌ها برای ذخیره آرشیو.

مثال‌ها

using (var archive = new Archive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.Save("archive.zip",  new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}

نکات

امکان ذخیره آرشیو در همان مسیری که از آن بارگذاری شده است وجود دارد. با این حال، این کار توصیه نمی‌شود زیرا این روش از کپی به فایل موقت استفاده می‌کند.

استثناها

ArgumentNullException

destinationFileName null است.

SecurityException

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

ArgumentException

destinationFileName خالی است، تنها شامل فاصله‌های سفید است، یا شامل کاراکترهای نامعتبر است.

UnauthorizedAccessException

دسترسی به فایل destinationFileName رد شده است.

PathTooLongException

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

NotSupportedException

فایل در destinationFileName شامل یک کولن (:) در وسط رشته است.

FileNotFoundException

فایل پیدا نشد.

DirectoryNotFoundException

مسیر مشخص شده نامعتبر است، مانند اینکه در یک درایو نامشخص باشد.

IOException

فایل در حال حاضر باز است.

SaveSplit(string, SplitArchiveSaveOptions)

آرشیو چندحجمی را به دایرکتوری مقصدی که ارائه شده ذخیره می‌کند.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

پارامترها

destinationDirectory string

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

options SplitArchiveSaveOptions

گزینه‌ها برای ذخیره آرشیو، شامل نام فایل.

مثال‌ها

using (Archive archive = new Archive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitArchiveSaveOptions("volume", 65536));
}

نکات

این متد چندین (n) فایل filename.z01، filename.z02، ...، filename.z(n-1)، filename.zip را تشکیل می‌دهد.

نمی‌تواند آرشیو موجود را چندحجمی کند.

استثناها

InvalidOperationException

این آرشیو از منبع موجود باز شده است.

NotSupportedException

این آرشیو هم با روش فشرده‌سازی XZ فشرده و هم رمزگذاری شده است.

ArgumentNullException

destinationDirectory null است.

SecurityException

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

ArgumentException

destinationDirectory شامل کاراکترهای نامعتبر مانند “، >، <، یا | است.

PathTooLongException

مسیر مشخص شده از طول حداکثر تعیین‌شده توسط سیستم فراتر رفته است.

ObjectDisposedException

آرشیو حذف شده است.

 فارسی