Class SevenZipArchive
Nazwa przestrzeń: Aspose.Zip.SevenZip Zestawienie: Aspose.Zip.dll (25.5.0)
Ta klasa reprezentuje plik archiwów 7z. Użyj go do tworzenia i ekstrakcji archiwów 7z.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Dziedziczeni członkowie
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Inicjalizuje nową instancję klasy Aspose.Zip.SevenZip.SevenZipArchive z opcjonalnymi ustawieniami dla jej wpisów.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Ustawienia kompresji i szyfrowania używane do nowo dodanych elementów Aspose.Zip.SevenZip.SevenZipArchiveEntry.Jeśli nie określono, LZMA kompresja bez szyfrowania byłoby używane.
Examples
Poniższy przykład pokazuje, jak kompresować pojedynczy plik za pomocą ustawień domyślnych: Kompresja LZMA bez szyfrowania.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(strumień, strumień)
Inicjalizuje nową instancję klasy Aspose.Zip.SevenZip.SevenZipArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Źródło tego archiwum.
password
string
Opcjonalne hasło do szyfrowania.Jeśli nazwy plików są szyfrowane, musi być obecne.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Zobacz Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda dekompresji.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Archiwum zawiera więcej niż jeden koder. teraz tylko LZMA kompresja jest obsługiwana.
SevenZipArchive(strumień, strumień)
Inicjalizuje nową instancję klasy Aspose.Zip.SevenZip.SevenZipArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Całkowicie kwalifikowany lub relatywny ścieżka do pliku archiwum.
password
string
Opcjonalne hasło do szyfrowania.Jeśli nazwy plików są szyfrowane, musi być obecne.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Zobacz Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda dekompresji.
Exceptions
path’ is null.
Klient nie posiada wymaganego zezwolenia na dostęp.
Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku path" jest odrzucony.
Określenie path", nazwa pliku lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik w path’ zawiera kolumnę (:) w środku paska.
Plik nie został znaleziony.
Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.
Archiwum jest już otwarte.
SevenZipArchive(strumień[ ], Źródło String)
Inicjalizuje nową instancję klasy Aspose.Zip.SevenZip.SevenZipArchive z archiwum multi-volume 7z i tworzy listę wpisów, które można wyciągnąć z archiwum.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[ ]
Ścieżki do każdego segmentu multi-volume 7z archiwum przestrzegania porządku
password
string
Opcjonalne hasło do szyfrowania.Jeśli nazwy plików są szyfrowane, musi być obecne.
Examples
using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
archive.ExtractToDirectory("C:\\extracted");
}
Exceptions
parts’ is null.
parts’ has no entries.
Klient nie posiada wymaganego zezwolenia na dostęp.
Droga do pliku jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku jest odrzucony.
Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik na ścieżce zawiera kolumnę (:) w środku łańcucha.
Properties
Entries
Otrzymuje wpisy typu Aspose.Zip.SevenZip.SevenZipArchiveEntry tworzącego archiwum.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Wartość nieruchomości
ReadOnlyCollection • < SevenZipArchiveEntry >
NewEntrySettings
Ustawienia kompresji i szyfrowania używane do nowo dodanych elementów Aspose.Zip.SevenZip.SevenZipArchiveEntry.
public SevenZipEntrySettings NewEntrySettings { get; }
Wartość nieruchomości
Methods
CreateEntries(Informacje, Bool)
Dodaj do archiwum wszystkie pliki i katalogi ponownie w danym katalogu.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Dyrekcja do kompresji.
includeRootDirectory
bool
Oznacza, czy należy włączyć sam katalog korzeniowy, czy nie.
Returns
Archiwum z składanymi wpisami.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Droga do directory’ jest niewłaściwa, na przykład na bez mapowania dysku.
Odwołujący nie ma wymaganej zgody na dostęp do adresatu directory".
CreateEntries(Złoty, Bool)
Dodaj do archiwum wszystkie pliki i katalogi ponownie w danym katalogu.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Dyrekcja do kompresji.
includeRootDirectory
bool
Oznacza, czy należy włączyć sam katalog korzeniowy, czy nie.
Returns
Archiwum z składanymi wpisami.
Examples
Składaj archiwum 7z za pomocą kompresji LZMA2.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(strona, FileInfo, bool, SevenZipEntrySettings)
Tworzenie jednego wpisu w archiwum.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Nazwa wejścia.
fileInfo
FileInfo
Metadane pliki muszą być kompresowane.
openImmediately
bool
Prawda jest taka, że jeśli natychmiast otworzysz plik, w przeciwnym razie otwórz plik na archiwum.
newEntrySettings
SevenZipEntrySettings
Ustawienia kompresji i szyfrowania używane do dodania elementu Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Siedem wstępnych instancji ZIP.
Examples
Składaj archiwum z wpisami zaszyfrowanymi różnymi hasłami.
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);
}
}
Remarks
Nazwa wpisu jest ustawiona wyłącznie w parametrze. nazwa pliku podana w parametrze nie wpływa na nazwę wpisu.
Jeśli plik zostanie natychmiast otwarty z parametrem, zostanie on zablokowany, dopóki nie zostanie zapisany archiwum.
Exceptions
fileInfo’ is read-only or is a directory.
Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.
Archiwum jest już otwarte.
CreateEntry(strumień, Stream, SevenZipEntrySettings, FileSystemInfo)
Tworzenie jednego wpisu w archiwum.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Nazwa wejścia.
source
Stream
Przepływ wejściowy dla wejścia.
newEntrySettings
SevenZipEntrySettings
Ustawienia kompresji i szyfrowania używane do dodania elementu Aspose.Zip.SevenZip.SevenZipArchiveEntry.
fileInfo
FileSystemInfo
Metadane plików lub folderów do kompresji.
Returns
Siedmiu punktów wstępu.
Examples
Kompostować archiwum z LZMA2 kompresowane szyfrowane wejście.
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);
}
}
Remarks
Nazwa wpisu jest ustawiona wyłącznie w parametrze. nazwa pliku podana w parametrze nie wpływa na nazwę wpisu.
można odwołać się do System.IO.DirectoryInfo, jeśli wpis jest adresem.
Exceptions
Zarówno source’ jak i
fileInfo’ są null lub
source’ jest null, a
fileInfo’ oznacza katalog.
CreateEntry(strumień, strumień, SevenZipEntrySettings)
Tworzenie jednego wpisu w archiwum.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Nazwa wejścia.
source
Stream
Przepływ wejściowy dla wejścia.
newEntrySettings
SevenZipEntrySettings
Ustawienia kompresji i szyfrowania używane do dodania elementu Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instancja wejściowa ZIP.
Examples
Składaj archiwum 7z za pomocą kompresji i szyfrowania wszystkich wpisów LZMA2.
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(strona, strona, bool, SevenZipEntrySettings)
Tworzenie jednego wpisu w archiwum.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Nazwa wejścia.
path
string
Pełno kwalifikowane nazwisko nowego pliku lub relatywne nazwisko pliku do kompresji.
openImmediately
bool
Prawda jest taka, że jeśli natychmiast otworzysz plik, w przeciwnym razie otwórz plik na archiwum.
newEntrySettings
SevenZipEntrySettings
Ustawienia kompresji i szyfrowania używane do dodania elementu Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instancja wejściowa ZIP.
Examples
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);
}
}
Remarks
Nazwa wpisu jest ustawiona wyłącznie w parametrze. nazwa pliku podana w parametrze nie wpływa na nazwę wpisu.
Jeśli plik zostanie natychmiast otwarty z parametrem, zostanie on zablokowany, dopóki nie zostanie zapisany archiwum.
Exceptions
path’ is null.
Klient nie posiada wymaganego zezwolenia na dostęp.
Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku path" jest odrzucony.
Określenie path", nazwa pliku lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik w path’ zawiera kolumnę (:) w środku paska.
Dispose()
Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.
public void Dispose()
Dispose(Bool)
Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Czy zarządzane zasoby powinny zostać usunięte?
ExtractToDirectory(strumień, strumień)
Wyciąga wszystkie pliki w archiwum do dostarczonego katalogu.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Droga do katalogu, aby umieścić wyciągnięte pliki.
password
string
Opcjonalne hasło do dekrypcji treści.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Jeśli dyrektywa nie istnieje, zostanie ona utworzona.
Jeśli nazwiska plików są szyfrowane, podaj hasło w Aspose.Zip.SevenZop.SevenZapArchive.#ctor(System.String,Systems. String) lub __ WL51.ZIP.seven Zip Archiv.
Exceptions
destinationDirectory’ is null.
Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.
Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).
Dyskusja określona przez ścieżkę jest plikiem. -or- Nazwa sieci nie jest znana.
Archiwum jest zepsute.
Save(Stream)
Oszczędza archiwum 7z do dostarczonego przepływu.
public void Save(Stream output)
Parameters
output
Stream
Przepływ docelowy.
Examples
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);
}
}
}
Remarks
Musi być poszukiwana.
Exceptions
output’ does not support seeking.
output’ is null.
Koder nie zdołał kompresować danych.
Save(strumień)
Zapisz archiwum do dostarczonego pliku docelowego.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on przesłany.
Examples
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");
}
}
Remarks
Istnieje możliwość przechowywania archiwum na tę samą ścieżkę, z której został pobrany. jednak nie jest to zalecane, ponieważ ten podejście wykorzystuje kopiowanie do tymczasowego pliku.
Exceptions
destinationFileName’ is null.
Klient nie posiada wymaganego zezwolenia na dostęp.
destinationFileName’ jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku destinationFileName’ jest odrzucony.
Określenie destinationFileName’, nazwa pliku, lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik w adresie destinationFileName’ zawiera kolumnę (:) w środku paska.
SaveSplit(Źródło: SplitSevenZipArchiveSaveOptions)
Oszczędza archiwum wielkości do dostarczonego katalogu docelowego.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Droga do katalogu, w którym zostaną utworzone segmenty archiwum.
options
SplitSevenZipArchiveSaveOptions
Opcje przechowywania archiwów, w tym nazwa pliku.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Metoda ta składa się z kilku plików filename.7z.001, filename.7z.002, …, filename.7z.(n).
Nie można tworzyć istniejących archiwów wielokrotnych.
Exceptions
Archiwum zostało otwarte z istniejącego źródła.
destinationDirectory’ is null.
Odwołujący nie posiada wymaganej pozwolenia na dostęp do katalogu.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Określona droga przekracza maksymalną długość określoną przez system.