Class SevenZipArchive

Class SevenZipArchive

Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)

Bu sınıf, 7z arşiv dosyasını temsil eder. 7z arşivleri oluşturmak ve çıkarmak için kullanın.

public class SevenZipArchive : IArchive, IDisposable

Kalıtım

objectSevenZipArchive

Uygular

IArchive, IDisposable

Miras Alınan Üyeler

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Yapıcılar

SevenZipArchive(SevenZipEntrySettings)

Aspose.Zip.SevenZip.SevenZipArchive sınıfının yeni bir örneğini, girişleri için isteğe bağlı ayarlarla başlatır.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parametreler

newEntrySettings SevenZipEntrySettings

Yeni eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğeleri için kullanılan sıkıştırma ve şifreleme ayarları.
Belirtilmezse, şifreleme olmadan LZMA sıkıştırması kullanılacaktır.

Örnekler

Aşağıdaki örnek, varsayılan ayarlarla tek bir dosyayı sıkıştırmayı gösterir: şifreleme olmadan LZMA sıkıştırması.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(Stream, string)

Aspose.Zip.SevenZip.SevenZipArchive sınıfının yeni bir örneğini başlatır ve arşivden çıkarılabilecek girişler listesini oluşturur.

public SevenZipArchive(Stream sourceStream, string password = null)

Parametreler

sourceStream Stream

Arşivin kaynağı.

password string

Şifre çözme için isteğe bağlı şifre. Dosya adları şifrelenmişse mevcut olmalıdır.

Örnekler

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Açıklamalar

Bu yapıcı herhangi bir girişi açmaz. Sıkıştırma için Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoduna bakın.

İstisnalar

ArgumentException

sourceStream arama yapılabilir değil.

ArgumentNullException

sourceStream null.

NotImplementedException

Arşiv birden fazla kodlayıcı içeriyor. Şu anda yalnızca LZMA sıkıştırması desteklenmektedir.

SevenZipArchive(string, string)

Aspose.Zip.SevenZip.SevenZipArchive sınıfının yeni bir örneğini başlatır ve arşivden çıkarılabilecek girişler listesini oluşturur.

public SevenZipArchive(string path, string password = null)

Parametreler

path string

Arşiv dosyasının tam nitelikli veya göreli yolu.

password string

Şifre çözme için isteğe bağlı şifre. Dosya adları şifrelenmişse mevcut olmalıdır.

Örnekler

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Açıklamalar

Bu yapıcı herhangi bir girişi açmaz. Sıkıştırma için Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoduna bakın.

İstisnalar

ArgumentNullException

path null.

SecurityException

Çağrının gerekli izne sahip olmadığı.

ArgumentException

path boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

path dosyasına erişim reddedildi.

PathTooLongException

Belirtilen path, dosya adı veya her ikisi sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.

NotSupportedException

path içinde bir iki nokta üst üste (:) içeriyor.

FileNotFoundException

Dosya bulunamadı.

DirectoryNotFoundException

Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.

IOException

Dosya zaten açık.

SevenZipArchive(string[], string)

Çoklu hacimli 7z arşivinden Aspose.Zip.SevenZip.SevenZipArchive sınıfının yeni bir örneğini başlatır ve arşivden çıkarılabilecek girişler listesini oluşturur.

public SevenZipArchive(string[] parts, string password = null)

Parametreler

parts string[]

Çoklu hacimli 7z arşivinin her segmentinin sırasına göre yolları

password string

Şifre çözme için isteğe bağlı şifre. Dosya adları şifrelenmişse mevcut olmalıdır.

Örnekler

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

İstisnalar

ArgumentNullException

parts null.

ArgumentException

parts giriş içermiyor.

SecurityException

Çağrının gerekli izne sahip olmadığı.

ArgumentException

Bir dosya yolunun boş, yalnızca boşluk içerdiği veya geçersiz karakterler içerdiği.

UnauthorizedAccessException

Bir dosyaya erişim reddedildi.

PathTooLongException

Belirtilen bir parçanın yolu, dosya adı veya her ikisi sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.

NotSupportedException

Yolda iki nokta üst üste (:) içeriyor.

Özellikler

Entries

Arşivi oluşturan Aspose.Zip.SevenZip.SevenZipArchiveEntry türündeki girişleri alır.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Özellik Değeri

ReadOnlyCollection<SevenZipArchiveEntry&gt;

NewEntrySettings

Yeni eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğeleri için kullanılan sıkıştırma ve şifreleme ayarları.

public SevenZipEntrySettings NewEntrySettings { get; }

Özellik Değeri

SevenZipEntrySettings

Metotlar

CreateEntries(DirectoryInfo, bool)

Verilen dizindeki tüm dosyaları ve dizinleri özyinelemeli olarak arşive ekler.

public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parametreler

directory DirectoryInfo

Sıkıştırılacak dizin.

includeRootDirectory bool

Kök dizinin kendisinin dahil edilip edilmeyeceğini gösterir.

Dönüş

SevenZipArchive

Girişlerle oluşturulmuş arşiv.

Örnekler

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

İstisnalar

DirectoryNotFoundException

directory için yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.

SecurityException

Çağrının gerekli izne sahip olmadığı directory erişimi için.

CreateEntries(string, bool)

Verilen dizindeki tüm dosyaları ve dizinleri özyinelemeli olarak arşive ekler.

public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parametreler

sourceDirectory string

Sıkıştırılacak dizin.

includeRootDirectory bool

Kök dizinin kendisinin dahil edilip edilmeyeceğini gösterir.

Dönüş

SevenZipArchive

Girişlerle oluşturulmuş arşiv.

Örnekler

7z arşivini LZMA2 sıkıştırması ile oluştur.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Arşiv içinde tek bir giriş oluşturur.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parametreler

name string

Girişin adı.

fileInfo FileInfo

Sıkıştırılacak dosyanın meta verisi.

openImmediately bool

Dosyayı hemen açmak için true, aksi takdirde arşiv kaydedilene kadar dosyayı açar.

newEntrySettings SevenZipEntrySettings

Eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğesi için kullanılan sıkıştırma ve şifreleme ayarları.

Dönüş

SevenZipArchiveEntry

Seven Zip giriş örneği.

Örnekler

Her biri farklı şifrelerle şifrelenmiş girişlerle arşiv oluştur.

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

Açıklamalar

Giriş adı yalnızca name parametresinde ayarlanır. fileInfo parametresinde sağlanan dosya adı giriş adını etkilemez.

Eğer dosya openImmediately parametresi ile hemen açılırsa, arşiv kaydedilene kadar engellenir.

İstisnalar

UnauthorizedAccessException

fileInfo yalnızca okunabilir veya bir dizindir.

DirectoryNotFoundException

Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.

IOException

Dosya zaten açık.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Arşiv içinde tek bir giriş oluşturur.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parametreler

name string

Girişin adı.

source Stream

Giriş için giriş akışı.

newEntrySettings SevenZipEntrySettings

Eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğesi için kullanılan sıkıştırma ve şifreleme ayarları.

fileInfo FileSystemInfo

Sıkıştırılacak dosya veya klasörün meta verisi.

Dönüş

SevenZipArchiveEntry

SevenZip giriş örneği.

Örnekler

LZMA2 sıkıştırmalı şifrelenmiş girişle arşiv oluştur.

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

Açıklamalar

Giriş adı yalnızca name parametresinde ayarlanır. fileInfo parametresinde sağlanan dosya adı giriş adını etkilemez.

fileInfo giriş dizini ise System.IO.DirectoryInfo'ye referans verebilir.

İstisnalar

InvalidOperationException

Hem source hem de fileInfo null veya source null ve fileInfo dizini temsil ediyorsa.

CreateEntry(string, Stream, SevenZipEntrySettings)

Arşiv içinde tek bir giriş oluşturur.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parametreler

name string

Girişin adı.

source Stream

Giriş için giriş akışı.

newEntrySettings SevenZipEntrySettings

Eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğesi için kullanılan sıkıştırma ve şifreleme ayarları.

Dönüş

SevenZipArchiveEntry

Zip giriş örneği.

Örnekler

Tüm girişlerin LZMA2 sıkıştırması ve şifrelemesi ile 7z arşivi oluştur.

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

CreateEntry(string, string, bool, SevenZipEntrySettings)

Arşiv içinde tek bir giriş oluşturur.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parametreler

name string

Girişin adı.

path string

Yeni dosyanın tam adı veya sıkıştırılacak göreli dosya adı.

openImmediately bool

Dosyayı hemen açmak için true, aksi takdirde arşiv kaydedilene kadar dosyayı açar.

newEntrySettings SevenZipEntrySettings

Eklenen Aspose.Zip.SevenZip.SevenZipArchiveEntry öğesi için kullanılan sıkıştırma ve şifreleme ayarları.

Dönüş

SevenZipArchiveEntry

Zip giriş örneği.

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

Açıklamalar

Giriş adı yalnızca name parametresinde ayarlanır. path parametresinde sağlanan dosya adı giriş adını etkilemez.

Eğer dosya openImmediately parametresi ile hemen açılırsa, arşiv kaydedilene kadar engellenir.

İstisnalar

ArgumentNullException

path null.

SecurityException

Çağrının gerekli izne sahip olmadığı.

ArgumentException

path boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

path dosyasına erişim reddedildi.

PathTooLongException

Belirtilen path, dosya adı veya her ikisi sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.

NotSupportedException

path içinde bir iki nokta üst üste (:) içeriyor.

Dispose()

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri yerine getirir.

public void Dispose()

Dispose(bool)

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri yerine getirir.

protected virtual void Dispose(bool disposing)

Parametreler

disposing bool

Yönetilen kaynakların serbest bırakılıp bırakılmayacağını belirtir.

ExtractToDirectory(string, string)

Arşivdeki tüm dosyaları sağlanan dizine çıkarır.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parametreler

destinationDirectory string

Çıkarılan dosyaların yerleştirileceği dizinin yolu.

password string

İçerik şifre çözme için isteğe bağlı şifre.

Örnekler

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Açıklamalar

Dizin mevcut değilse, oluşturulacaktır.

password yalnızca içerik şifre çözme için kullanılır. Dosya adları şifrelenmişse, şifreyi Aspose.Zip.SevenZip.SevenZipArchive.#ctor(System.String,System.String) veya Aspose.Zip.SevenZip.SevenZipArchive.#ctor(System.IO.Stream,System.String) yapıcısında sağlayın.

İstisnalar

ArgumentNullException

destinationDirectory null.

PathTooLongException

Belirtilen yol, dosya adı veya her ikisi sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.

SecurityException

Çağrının mevcut dizine erişim için gerekli izne sahip olmadığı.

NotSupportedException

Eğer dizin mevcut değilse, yol, bir sürücü etiketinin (“C:") parçası olmayan bir iki nokta üst üste (:) içeriyor.

ArgumentException

destinationDirectory sıfır uzunluğunda bir dize, yalnızca boşluk içeriyor veya bir veya daha fazla geçersiz karakter içeriyor. Geçersiz karakterleri System.IO.Path.GetInvalidPathChars yöntemi ile sorgulayabilirsiniz. - veya - yol yalnızca bir iki nokta üst üste karakteri (:) ile başlıyorsa veya içeriyorsa.

IOException

Belirtilen yol bir dosyadır. - veya - Ağ adı bilinmiyor.

InvalidDataException

Arşiv bozulmuş.

Save(Stream)

7z arşivini sağlanan akışa kaydeder.

public void Save(Stream output)

Parametreler

output Stream

Hedef akış.

Örnekler

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Açıklamalar

output arama yapılabilir olmalıdır.

İstisnalar

ArgumentException

output arama yapmayı desteklemiyor.

ArgumentNullException

output null.

InvalidOperationException

Kodlayıcı verileri sıkıştırmayı başaramadı.

Save(string)

Arşivi sağlanan hedef dosyaya kaydeder.

public void Save(string destinationFileName)

Parametreler

destinationFileName string

Oluşturulacak arşivin yolu. Belirtilen dosya adı mevcut bir dosyaya işaret ediyorsa, üzerine yazılacaktır.

Örnekler

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Açıklamalar

Bir arşiv, yüklendiği aynı yola kaydedilebilir. Ancak, bu yaklaşım geçici dosya kopyalaması kullandığı için önerilmez.

İstisnalar

ArgumentNullException

destinationFileName null.

SecurityException

Çağrının gerekli izne sahip olmadığı.

ArgumentException

destinationFileName boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.

UnauthorizedAccessException

destinationFileName dosyasına erişim reddedildi.

PathTooLongException

Belirtilen destinationFileName, dosya adı veya her ikisi sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda, yollar 248 karakterden kısa olmalıdır ve dosya adları 260 karakterden kısa olmalıdır.

NotSupportedException

destinationFileName içinde bir iki nokta üst üste (:) içeriyor.

SaveSplit(string, SplitSevenZipArchiveSaveOptions)

Çoklu hacimli arşivi sağlanan hedef dizine kaydeder.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parametreler

destinationDirectory string

Arşiv segmentlerinin oluşturulacağı dizinin yolu.

options SplitSevenZipArchiveSaveOptions

Arşiv kaydetme için seçenekler, dosya adı dahil.

Örnekler

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Açıklamalar

Bu yöntem, birkaç (n) dosya oluşturur: filename.7z.001, filename.7z.002, ..., filename.7z.(n).

Mevcut arşivi çoklu hacimli hale getiremez.

İstisnalar

InvalidOperationException

Bu arşiv mevcut bir kaynaktan açıldı.

ArgumentNullException

destinationDirectory null.

SecurityException

Çağrının dizine erişim için gerekli izne sahip olmadığı.

ArgumentException

destinationDirectory geçersiz karakterler içeriyor, örneğin “, >, < veya |.

PathTooLongException

Belirtilen yol sistem tarafından tanımlanan maksimum uzunluğu aşıyor.

 Türkçe