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
Uygular
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
sourceStream
arama yapılabilir değil.
sourceStream
null.
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
path
null.
Çağrının gerekli izne sahip olmadığı.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
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.
path
içinde bir iki nokta üst üste (:) içeriyor.
Dosya bulunamadı.
Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
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
parts
null.
parts
giriş içermiyor.
Çağrının gerekli izne sahip olmadığı.
Bir dosya yolunun boş, yalnızca boşluk içerdiği veya geçersiz karakterler içerdiği.
Bir dosyaya erişim reddedildi.
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.
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>
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
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üş
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
directory
için yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
Ç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üş
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üş
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
fileInfo
yalnızca okunabilir veya bir dizindir.
Belirtilen yol geçersiz, örneğin, haritalanmamış bir sürücüde bulunuyor.
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üş
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
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üş
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üş
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
path
null.
Çağrının gerekli izne sahip olmadığı.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
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.
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
destinationDirectory
null.
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.
Çağrının mevcut dizine erişim için gerekli izne sahip olmadığı.
Eğer dizin mevcut değilse, yol, bir sürücü etiketinin (“C:") parçası olmayan bir iki nokta üst üste (:) içeriyor.
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.
Belirtilen yol bir dosyadır. - veya - Ağ adı bilinmiyor.
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
output
arama yapmayı desteklemiyor.
output
null.
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
destinationFileName
null.
Çağrının gerekli izne sahip olmadığı.
destinationFileName
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
destinationFileName
dosyasına erişim reddedildi.
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.
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
Bu arşiv mevcut bir kaynaktan açıldı.
destinationDirectory
null.
Çağrının dizine erişim için gerekli izne sahip olmadığı.
destinationDirectory
geçersiz karakterler içeriyor, örneğin “, >, < veya |.
Belirtilen yol sistem tarafından tanımlanan maksimum uzunluğu aşıyor.