SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Buat satu entri dalam arsip.

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

Nilai Pengembalian

Contoh entri Seven 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 masing-masing dengan kata sandi yang berbeda.

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

Lihat juga


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Buat satu entri dalam arsip.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
ParameterJenisKeterangan
nameStringNama entri.
sourceStreamAliran input untuk entri.
newEntrySettingsSevenZipEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanSevenZipArchiveEntry barang.
fileInfoFileSystemInfoMetadata file atau folder yang akan dikompresi.

Nilai Pengembalian

Instance entri SevenZip.

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

Lihat juga


CreateEntry(string, Stream, SevenZipEntrySettings)

Buat satu entri dalam arsip.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterJenisKeterangan
nameStringNama entri.
sourceStreamAliran input untuk entri.
newEntrySettingsSevenZipEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanSevenZipArchiveEntry barang.

Nilai Pengembalian

Contoh entri zip.

Contoh

Buat arsip 7z dengan kompresi LZMA2 dan enkripsi semua entri.

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

Lihat juga


CreateEntry(string, string, bool, SevenZipEntrySettings)

Buat satu entri dalam arsip.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings 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.
newEntrySettingsSevenZipEntrySettingsPengaturan kompresi dan enkripsi digunakan untuk ditambahkanSevenZipArchiveEntry 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 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);
    }
}

Lihat juga