Class SevenZipArchive

Class SevenZipArchive

نام ها : Aspose.Zip.SevenZip جمع آوری: Aspose.Zip.dll (25.5.0)

این کلاس نشان دهنده فایل آرشیو 7z است. از آن برای ترکیب و استخراج فایل های 7z استفاده کنید.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

اعضای ارثی

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

Constructors

SevenZipArchive(SevenZipEntrySettings)

یک مثال جدید از کلاس Aspose.Zip.SevenZip.SevenZipArchive با تنظیمات اختیاری برای ورودی های آن آغاز می شود.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

تنظیمات فشرده سازی و رمزگذاری مورد استفاده برای آیتم های Aspose.Zip.SevenZip.SevenZipArchiveEntry اضافه شده است.اگر مشخص نشده است، LZMA فشرده سازی بدون رمزگذاری استفاده می شود.

Examples

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

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(جریان، string)

یک مثال جدید از کلاس Aspose.Zip.SevenZip.SevenZipArchive را آغاز می کند و یک لیست ورودی را می سازد که می تواند از آرشیو استخراج شود.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

منبع این آرشیو

password string

رمز عبور اختیاری برای رمزگذاری.اگر نام فایل رمزگذاری شده است، باید وجود داشته باشد.

Examples

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

این سازنده هیچ ورودی را از بین نمی برد. مشاهده Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String،System.String) روش برای از بین بردن.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

آرشیو حاوی بیش از یک کدور است.در حال حاضر تنها LZMA فشرده سازی پشتیبانی می شود.

SevenZipArchive(String، String)

یک مثال جدید از کلاس Aspose.Zip.SevenZip.SevenZipArchive را آغاز می کند و یک لیست ورودی را می سازد که می تواند از آرشیو استخراج شود.

public SevenZipArchive(string path, string password = null)

Parameters

path string

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

password string

رمز عبور اختیاری برای رمزگذاری.اگر نام فایل رمزگذاری شده است، باید وجود داشته باشد.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

این سازنده هیچ ورودی را از بین نمی برد. مشاهده Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String،System.String) روش برای از بین بردن.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

متقاضی مجوز لازم برای دسترسی ندارد.

ArgumentException

مسیر path" خالی است، فقط حاوی فضاهای سفید است یا حاوی کاراکترهای نادرست است.

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

فایل در path" حاوی یک ستون (:) در وسط ردیف است.

FileNotFoundException

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

DirectoryNotFoundException

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

IOException

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

SevenZipArchive(String[ ], و String)

یک مثال جدید از کلاس Aspose.Zip.SevenZip.SevenZipArchive را از آرشیو چند حجم 7z آغاز می کند و یک لیست ورودی را می سازد که می تواند از آرشیو استخراج شود.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string [ ]

پیاده روی به هر بخش از چند حجم 7z آرشیو به ترتیب

password string

رمز عبور اختیاری برای رمزگذاری.اگر نام فایل رمزگذاری شده است، باید وجود داشته باشد.

Examples

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Exceptions

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

متقاضی مجوز لازم برای دسترسی ندارد.

ArgumentException

مسیر به یک فایل خالی است، فقط حاوی فضاهای سفید است، یا حاوی کاراکترهای نادرست است.

UnauthorizedAccessException

دسترسی به یک فایل رد می شود.

PathTooLongException

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

NotSupportedException

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

Properties

Entries

دریافت ورودی از Aspose.Zip.SevenZip.SevenZipArchiveEntry نوع تشکیل دهنده آرشیو.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

ارزش املاک

ReadOnlyCollection &lt؛ SevenZipArchiveEntry >

NewEntrySettings

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

public SevenZipEntrySettings NewEntrySettings { get; }

ارزش املاک

SevenZipEntrySettings

Methods

CreateEntries(بایگانی برچسب ها: bool)

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

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

Parameters

directory DirectoryInfo

دستورالعمل برای فشرده سازی

includeRootDirectory bool

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

Returns

SevenZipArchive

آرشیو با ورودی های جمع آوری شده

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

مسیر به directory’ نادرست است، به عنوان مثال در یک درایو بدون نقشه.

SecurityException

تماس گیرنده اجازه لازم برای دسترسی به directory را ندارد.

CreateEntries(بایگانی برچسب ها: bool)

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

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

Parameters

sourceDirectory string

دستورالعمل برای فشرده سازی

includeRootDirectory bool

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

Returns

SevenZipArchive

آرشیو با ورودی های جمع آوری شده

Examples

ترکیب آرشیو 7Z با فشرده سازی LZMA2

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(بایگانی برچسب ها: FileInfo, Bool, SevenZipEntrySettings)

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

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

نام ورودی

fileInfo FileInfo

فایلهای فایلهای فایلهای فایلهای فایلهای فایله

openImmediately bool

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

newEntrySettings SevenZipEntrySettings

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

Returns

SevenZipArchiveEntry

7 نکته در مورد ZIP

Examples

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

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Remarks

نام ورودی فقط در پارامتر تنظیم می شود نام فایل ارائه شده در پارامتر بر نام ورودی تاثیر نمی گذارد.

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

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

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

IOException

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

CreateEntry(جریان، جریان، SevenZipEntrySettings، FileSystemInfo)

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

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

نام ورودی

source Stream

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

newEntrySettings SevenZipEntrySettings

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

fileInfo FileSystemInfo

فایلهای فایل یا پوشه ای که باید فشرده شود.

Returns

SevenZipArchiveEntry

7 دایره ورودی

Examples

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

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin")); 
        archive.Save(sevenZipFile);
    }
}

Remarks

نام ورودی فقط در پارامتر تنظیم می شود نام فایل ارائه شده در پارامتر بر نام ورودی تاثیر نمی گذارد.

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

Exceptions

InvalidOperationException

هر دو source’ و fileInfo’ صفر هستند یا source’ صفر است و fileInfo’ برای دایرکتوری است.

CreateEntry(جریان، جریان، SevenZipEntrySettings)

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

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

نام ورودی

source Stream

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

newEntrySettings SevenZipEntrySettings

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

Returns

SevenZipArchiveEntry

درایو ورودی ZIP

Examples

ترکیب آرشیو 7z با LZMA2 فشرده سازی و رمزگذاری تمام ورودی ها.

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.7z");
}

CreateEntry(حلقه، حلقه، حلقه، SevenZipEntrySettings)

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

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

نام ورودی

path string

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

openImmediately bool

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

newEntrySettings SevenZipEntrySettings

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

Returns

SevenZipArchiveEntry

درایو ورودی ZIP

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

Remarks

نام ورودی فقط در پارامتر تنظیم می شود نام فایل ارائه شده در پارامتر بر نام ورودی تاثیر نمی گذارد.

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

متقاضی مجوز لازم برای دسترسی ندارد.

ArgumentException

مسیر path" خالی است، فقط حاوی فضاهای سفید است یا حاوی کاراکترهای نادرست است.

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

فایل در path" حاوی یک ستون (:) در وسط ردیف است.

Dispose()

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

public void Dispose()

Dispose(بول)

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

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

آیا منابع مدیریت شده باید از بین برود؟

ExtractToDirectory(String، String)

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

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

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

password string

رمز عبور اختیاری برای رمزگذاری محتوا

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

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

اگر نام فایل ها رمزگذاری شده است، رمز عبور خود را در Aspose.Zip.SevenZapArchive.#ctor(System.String،Systems. String) یا _ www.Wl51_.ziP.seven ZipArkive .# ctor (Sistem.IO.Stream.

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

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

InvalidDataException

این آرشیو خراب شده است.

Save(Stream)

ذخیره آرشیو 7Z به جریان ارائه شده.

public void Save(Stream output)

Parameters

output Stream

جریان مقصد

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Remarks

باید قابل جستجو باشد.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

کدگذاری نتوانست داده ها را فشرده کند.

Save(String)

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

public void Save(string destinationFileName)

Parameters

destinationFileName string

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

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Remarks

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

متقاضی مجوز لازم برای دسترسی ندارد.

ArgumentException

کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه کلمه

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

فایل در destinationFileName’ حاوی یک ستون (:) در وسط ردیف است.

SaveSplit(دانلود بازی SplitSevenZipArchiveSaveOptions)

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

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

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

options SplitSevenZipArchiveSaveOptions

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

Examples

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

Remarks

این روش شامل چندین فایل است: filename.7z.001، filename.7z.002، …، filename.7z(n).

نمی توان فایل های موجود را چند حجم ساخت.

Exceptions

InvalidOperationException

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

ArgumentNullException

destinationDirectory’ is null.

SecurityException

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

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

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

 فارسی