Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

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

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings 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.
newEntrySettingsArchiveEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıArchiveEntry öğ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 zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Ayrıca bakınız


CreateEntry(string, Stream, ArchiveEntrySettings)

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

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

Geri dönüş değeri

Zip girişi örneği.

Örnekler

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

Ayrıca bakınız


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

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

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings 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.
newEntrySettingsArchiveEntrySettingsEklenenler için kullanılan sıkıştırma ve şifreleme ayarlarıArchiveEntry öğe.

Geri dönüş değeri

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ı şifreleme yöntemleri ve parolalarla şifrelenmiş girişlerle arşiv oluşturun.

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

Ayrıca bakınız


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

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

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

Geri dönüş değeri

Zip girişi ö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

Şifreli giriş ile arşiv oluşturun.

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

Ayrıca bakınız