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(ستيفن، ستيفن)

يبدأ مثالًا جديدًا من فئة 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

الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف path".

PathTooLongException

على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن يكون اسم الملف أقل من 260 حرفًا.

NotSupportedException

ملف في path’ يحتوي على عمود (:) في وسط السلسلة.

FileNotFoundException

لم يتم العثور على الملف.

DirectoryNotFoundException

المسار المحدد غير صالح ، على سبيل المثال ، على محرك أقراص غير مسجلة.

IOException

الملف مفتوح بالفعل.

SevenZipArchive(الستار[ ]الـ 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

فيديوهات متعلقة بـ Compress

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(البول، البول)

إضافة إلى الأرشيف جميع الملفات والمجلدات بشكل متكرر في الدليل المحدد.

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

Parameters

sourceDirectory string

فيديوهات متعلقة بـ Compress

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 إدخال زيب.

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

إدخال سبعة زيب.

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

الطريق " فارغ ، يحتوي على مساحات بيضاء فقط ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف path".

PathTooLongException

على سبيل المثال ، على المنصات المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن يكون اسم الملف أقل من 260 حرفًا.

NotSupportedException

ملف في path’ يحتوي على عمود (:) في وسط السلسلة.

Dispose()

يمارس المهام المحددة في التطبيق المرتبطة بتفريغ أو إطلاق أو إعادة تدوير الموارد غير المعالجة.

public void Dispose()

Dispose(بول)

يمارس المهام المحددة في التطبيق المرتبطة بتفريغ أو إطلاق أو إعادة تدوير الموارد غير المعالجة.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

هل ينبغي تخصيص الموارد التي يتم إدارةها؟

ExtractToDirectory(ستيفن، ستيفن)

استخراج جميع الملفات في الأرشيف إلى الدليل المقدمة.

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) أو __ WL51.ZIP.NightZype.

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(الستار)

حفظ الأرشيف إلى ملف الوجهة المقدمة.

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

الوجه destinationFileName’ فارغ ، يحتوي فقط على مساحات بيضاء ، أو يحتوي على أحرف غير صحيحة.

UnauthorizedAccessException

يتم رفض الوصول إلى ملف destinationFileName'.

PathTooLongException

المحدد destinationFileName، اسم الملف، أو كلاهما يتجاوز الحد الأقصى الذي يحدده النظام.على سبيل المثال، على منصات ويندوز، يجب أن تكون المسارات أقل من 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

المسار المحدد يتجاوز الحد الأقصى المحدد من النظام.

 عربي