SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Arşiv içinde tek giriş oluşturun.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
ParametreTipTanım
nameStringGirişin adı.
fileInfoFileInfoSıkıştırılacak dosyanın meta verileri.
openImmediatelyBooleanDosyayı hemen açarsanız doğrudur, aksi takdirde dosyayı arşive kaydederken açın.
newEntrySettingsSevenZipEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıSevenZipArchiveEntry öğe.

Geri dönüş değeri

Yedi Zip girişi örneği.

istisnalar

istisnaşart
UnauthorizedAccessExceptionfileInfo salt okunurdur veya bir dizindir.
DirectoryNotFoundExceptionEşlenmemiş bir sürücüde olmak gibi, belirtilen yol geçersiz.
IOExceptionDosya zaten açık.

Notlar

Giriş adı yalnızca içinde ayarlanırname parametre. Verilen dosya adıfileInfo parametre giriş adını etkilemez.

Dosya ile hemen açılırsaopenImmediately parametresi, arşiv kaydedilene kadar bloke olur.

Örnekler

Her biri farklı parolalarla şifrelenmiş girişlerle arşiv oluşturun.

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

Ayrıca bakınız


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Arşiv içinde tek giriş oluşturun.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
ParametreTipTanım
nameStringGirişin adı.
sourceStreamGiriş için giriş akışı.
newEntrySettingsSevenZipEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıSevenZipArchiveEntry öğe.
fileInfoFileSystemInfoSıkıştırılacak dosya veya klasörün meta verileri.

Geri dönüş değeri

SevenZip giriş örneği.

istisnalar

istisnaşart
InvalidOperationExceptionİkisi birdensource VefileInfo boş veyasourceboş vefileInfo dizin anlamına gelir.

Notlar

Giriş adı yalnızca içinde ayarlanırname parametre. Verilen dosya adıfileInfo parametre giriş adını etkilemez.

fileInfo başvurabilirDirectoryInfo giriş dizin ise.

Örnekler

LZMA2 sıkıştırılmış şifreli giriş ile arşiv oluşturun.

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

Ayrıca bakınız


CreateEntry(string, Stream, SevenZipEntrySettings)

Arşiv içinde tek giriş oluşturun.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ParametreTipTanım
nameStringGirişin adı.
sourceStreamGiriş için giriş akışı.
newEntrySettingsSevenZipEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıSevenZipArchiveEntry öğe.

Geri dönüş değeri

Zip girişi örneği.

Örnekler

LZMA2 sıkıştırma ve tüm girişlerin şifrelenmesi ile 7z arşivi oluşturun.

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

Ayrıca bakınız


CreateEntry(string, string, bool, SevenZipEntrySettings)

Arşiv içinde tek giriş oluşturun.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings newEntrySettings = null)
ParametreTipTanım
nameStringGirişin adı.
pathStringYeni dosyanın tam adı veya sıkıştırılacak ilgili dosya adı.
openImmediatelyBooleanDosyayı hemen açarsanız doğrudur, aksi takdirde dosyayı arşive kaydederken açın.
newEntrySettingsSevenZipEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıSevenZipArchiveEntry öğe.

Geri dönüş değeri

Zip girişi örneği.

istisnalar

istisnaşart
ArgumentNullExceptionpath boş.
SecurityExceptionArayan, erişim için gerekli izne sahip değil.
ArgumentExceptionbupath boş, yalnızca beyaz boşluklar içeriyor veya geçersiz karakterler içeriyor.
UnauthorizedAccessExceptiondosyaya erişimpath engellendi.
PathTooLongExceptionBelirtilenpath, dosya adı veya her ikisi de sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda yollar 248 karakterden, dosya adları ise 260 karakterden kısa olmalıdır.
NotSupportedExceptiondosyapath dizenin ortasında iki nokta üst üste (:) içerir.

Notlar

Giriş adı yalnızca içinde ayarlanırname parametre. Verilen dosya adıpath parametre giriş adını etkilemez.

Dosya ile hemen açılırsaopenImmediately parametresi, arşiv kaydedilene kadar bloke olur.

Örnekler

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

Ayrıca bakınız