Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

إنشاء إدخال واحد داخل الأرشيف.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
معامليكتبوصف
nameStringاسم الإدخال.
pathStringالاسم المؤهل بالكامل للملف الجديد ، أو اسم الملف النسبي المراد ضغطه.
openImmediatelyBooleanصحيح إذا فتحت الملف على الفور ، وإلا فافتح الملف عند حفظ الأرشيف.
newEntrySettingsArchiveEntrySettingsأضيفت إعدادات الضغط والتشفير المستخدمةArchiveEntry غرض.

قيمة الإرجاع

مثيل إدخال الرمز البريدي.

استثناءات

استثناءحالة
ArgumentNullExceptionpath باطل.
SecurityExceptionالمتصل ليس لديه الإذن المطلوب للوصول.
ArgumentExceptionالpath فارغ أو يحتوي على مسافات بيضاء فقط أو يحتوي على أحرف غير صالحة.
UnauthorizedAccessExceptionالوصول إلى الملفpath مرفوض.
PathTooLongExceptionالمحددpathأو اسم الملف أو كلاهما يتجاوز الحد الأقصى للطول المحدد من قبل النظام. على سبيل المثال ، في الأنظمة الأساسية المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
NotSupportedExceptionملف فيpath يحتوي على نقطتين (:) في منتصف السلسلة.

ملاحظات

تم تعيين اسم الإدخال فقط داخلname معامل. اسم الملف المقدم فيpath لا تؤثر المعلمة على اسم الإدخال.

إذا تم فتح الملف على الفور باستخدامopenImmediately المعلمة يتم حظرها حتى يتم حفظ الأرشيف.

أمثلة

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

أنظر أيضا


CreateEntry(string, Stream, ArchiveEntrySettings)

إنشاء إدخال واحد داخل الأرشيف.

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
معامليكتبوصف
nameStringاسم الإدخال.
sourceStreamتيار الإدخال للدخول.
newEntrySettingsArchiveEntrySettingsأضيفت إعدادات الضغط والتشفير المستخدمةArchiveEntry غرض.

قيمة الإرجاع

مثيل إدخال الرمز البريدي.

أمثلة

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)
معامليكتبوصف
nameStringاسم الإدخال.
fileInfoFileInfoالبيانات الوصفية للملف المراد ضغطه.
openImmediatelyBooleanصحيح إذا فتحت الملف على الفور ، وإلا فافتح الملف عند حفظ الأرشيف.
newEntrySettingsArchiveEntrySettingsأضيفت إعدادات الضغط والتشفير المستخدمةArchiveEntry غرض.

قيمة الإرجاع

مثيل إدخال الرمز البريدي.

استثناءات

استثناءحالة
UnauthorizedAccessExceptionfileInfo للقراءة فقط أو دليل.
DirectoryNotFoundExceptionالمسار المحدد غير صالح ، مثل وجوده على محرك أقراص غير معين.
IOExceptionالملف مفتوح بالفعل.

ملاحظات

تم تعيين اسم الإدخال فقط داخلname معامل. اسم الملف المقدم فيfileInfo لا تؤثر المعلمة على اسم الإدخال.

إذا تم فتح الملف على الفور باستخدامopenImmediately المعلمة يتم حظرها حتى يتم حفظ الأرشيف.

أمثلة

أنشئ أرشيفًا بإدخالات مشفرة باستخدام طرق تشفير وكلمات مرور مختلفة لكل منهما.

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);
    }
}

أنظر أيضا


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

إنشاء إدخال واحد داخل الأرشيف.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
معامليكتبوصف
nameStringاسم الإدخال.
sourceStreamتيار الإدخال للدخول.
newEntrySettingsArchiveEntrySettingsأضيفت إعدادات الضغط والتشفير المستخدمةArchiveEntry غرض.
fileInfoFileSystemInfoالبيانات الوصفية للملف أو المجلد المراد ضغطه.

قيمة الإرجاع

مثيل إدخال الرمز البريدي.

استثناءات

استثناءحالة
InvalidOperationExceptionكلاهماsource وfileInfo لاغية أوsourceباطل وfileInfo لتقف على الدليل.

ملاحظات

تم تعيين اسم الإدخال فقط داخلname معامل. اسم الملف المقدم فيfileInfo لا تؤثر المعلمة على اسم الإدخال.

fileInfo يمكن أن تشير إلىDirectoryInfo إذا كان الإدخال دليل.

أمثلة

إنشاء أرشيف بإدخال مشفر.

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);
    }
}

أنظر أيضا