Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

Buat satu entri dalam arsip.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterJenisKeterangan
nameStringNama entri.
pathStringNama file baru yang sepenuhnya memenuhi syarat, atau nama file relatif yang akan dikompresi.
openImmediatelyBooleanBenar jika langsung buka file, jika tidak buka file di penyimpanan arsip.
newEntrySettingsArchiveEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanArchiveEntry barang.

Nilai Pengembalian

Contoh entri zip.

Pengecualian

pengecualiankondisi
ArgumentNullExceptionpath adalah nol.
SecurityExceptionPenelepon tidak memiliki izin yang diperlukan untuk mengakses.
ArgumentExceptionItupath kosong, hanya berisi spasi putih, atau berisi karakter yang tidak valid.
UnauthorizedAccessExceptionAkses ke filepath ditolak.
PathTooLongExceptionYang ditentukanpath, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem. Misalnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
NotSupportedExceptionBerkas dipath berisi titik dua (:) di tengah string.

Perkataan

Nama entri hanya diatur di dalamname parameter. Nama file yang disediakan dipath parameter tidak mempengaruhi nama entri.

Jika file segera dibuka denganopenImmediately parameter itu menjadi diblokir sampai arsip disimpan.

Contoh

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

Lihat juga


CreateEntry(string, Stream, ArchiveEntrySettings)

Buat satu entri dalam arsip.

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterJenisKeterangan
nameStringNama entri.
sourceStreamAliran input untuk entri.
newEntrySettingsArchiveEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanArchiveEntry barang.

Nilai Pengembalian

Contoh entri zip.

Contoh

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

Lihat juga


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Buat satu entri dalam arsip.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterJenisKeterangan
nameStringNama entri.
fileInfoFileInfoMetadata file yang akan dikompresi.
openImmediatelyBooleanBenar jika langsung buka file, jika tidak buka file di penyimpanan arsip.
newEntrySettingsArchiveEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanArchiveEntry barang.

Nilai Pengembalian

Contoh entri zip.

Pengecualian

pengecualiankondisi
UnauthorizedAccessExceptionfileInfo bersifat read-only atau direktori.
DirectoryNotFoundExceptionJalur yang ditentukan tidak valid, seperti berada di drive yang belum dipetakan.
IOExceptionFile sudah terbuka.

Perkataan

Nama entri hanya diatur di dalamname parameter. Nama file yang disediakan difileInfo parameter tidak mempengaruhi nama entri.

Jika file segera dibuka denganopenImmediately parameter itu menjadi diblokir sampai arsip disimpan.

Contoh

Buat arsip dengan entri yang dienkripsi dengan metode enkripsi dan kata sandi yang berbeda.

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

Lihat juga


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Buat satu entri dalam arsip.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
ParameterJenisKeterangan
nameStringNama entri.
sourceStreamAliran input untuk entri.
newEntrySettingsArchiveEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanArchiveEntry barang.
fileInfoFileSystemInfoMetadata file atau folder yang akan dikompresi.

Nilai Pengembalian

Contoh entri zip.

Pengecualian

pengecualiankondisi
InvalidOperationExceptionKeduanyasource DanfileInfo adalah nol atausourceadalah nol danfileInfo singkatan dari direktori.

Perkataan

Nama entri hanya diatur di dalamname parameter. Nama file yang disediakan difileInfo parameter tidak mempengaruhi nama entri.

fileInfo dapat merujuk keDirectoryInfo jika entri adalah direktori.

Contoh

Buat arsip dengan entri terenkripsi.

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

Lihat juga