Class SevenZipArchive
Der Name: Aspose.Zip.SevenZip Versammlung: Aspose.Zip.dll (25.5.0)
Diese Klasse repräsentiert 7z-Archivdatei. Verwenden Sie es, um 7z-Archive zu komponieren und zu extrahieren.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Vererbte Mitglieder
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Initialisiert eine neue Instanz der Aspose.Zip.SevenZip.SevenZipArchive-Klasse mit optionalen Einstellungen für seine Einträge.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Kompression und Verschlüsselung Einstellungen für neu hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Elemente verwendet.Wenn nicht angegeben, wird LZMA-Kompression ohne Verschlüsselung verwendet.
Examples
Das folgende Beispiel zeigt, wie man eine einzige Datei mit standardmäßigen Einstellungen komprimiert: LZMA Komprimierung ohne Verschlüsselung.
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 und String)
Initialisiert eine neue Instanz der Aspose.Zip.SevenZip.SevenZipArchive Klasse und komponiert eine Einträge, die aus dem Archiv extrahiert werden kann.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Die Quelle des Archivs.
password
string
Optional Passwort für die Verschlüsselung.Wenn Dateiennamen verschlüsselt sind, muss es vorhanden sein.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Dieser Konstruktor dekomprimiert keine Einträge. siehe Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) Methode zur dekomprimierung.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Das Archiv enthält mehr als einen Coder. Jetzt unterstützt nur LZMA-Kompression.
SevenZipArchive(String und String)
Initialisiert eine neue Instanz der Aspose.Zip.SevenZip.SevenZipArchive Klasse und komponiert eine Einträge, die aus dem Archiv extrahiert werden kann.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Die voll qualifizierte oder die relative Route zum Archivdatei.
password
string
Optional Passwort für die Verschlüsselung.Wenn Dateiennamen verschlüsselt sind, muss es vorhanden sein.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Dieser Konstruktor dekomprimiert keine Einträge. siehe Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) Methode zur dekomprimierung.
Exceptions
path’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path" wird abgelehnt.
Die angegebenen path’, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.
Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.
Die Datei ist nicht gefunden.
Der angegebenen Weg ist ungültig, z. B. auf einem unmapped Drive.
Die Datei ist bereits geöffnet.
SevenZipArchive(String[][], und String)
Initialisiert eine neue Instanz der Aspose.Zip.SevenZip.SevenZipArchive-Klasse aus mehrvolumen 7z-Archiv und komponiert eine Einträge, die aus dem Archiv extrahiert werden kann.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[][]
Wege zu jedem Segment des 7z-Multi-Volumen-Archivs
password
string
Optional Passwort für die Verschlüsselung.Wenn Dateiennamen verschlüsselt sind, muss es vorhanden sein.
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.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Der Weg zu einer Datei ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugang zu einem Datei wird abgelehnt.
Der angegebenen Weg zu einem Teil, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.
Die Datei auf einem Pfad enthält einen Kolon (:) in der Mitte der String.
Properties
Entries
Er bekommt Beiträge von Aspose.Zip.SevenZip.SevenZipArchiveEntry Typ, der das Archiv darstellt.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Eigentumswert
ReadOnlyCollection &undlt; SevenZipArchiveEntry >
NewEntrySettings
Kompression und Verschlüsselung Einstellungen für neu hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Elemente verwendet.
public SevenZipEntrySettings NewEntrySettings { get; }
Eigentumswert
Methods
CreateEntries(VerzeichnisInfo, Bool)
Add to the archive all files and directories recursively in der gegebenen directory.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Verzeichnis zum Komprimieren.
includeRootDirectory
bool
Angibt, ob die Root-Dokumentation selbst enthalten ist oder nicht.
Returns
Das Archiv mit enthaltenen Beiträgen.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Der Weg zu directory’ ist nicht gültig, z. B. auf einem unmapped-Drive.
Der Anrufgeber hat nicht die erforderliche Erlaubnis zum Zugriff auf directory'.
CreateEntries(String und Bool)
Add to the archive all files and directories recursively in der gegebenen directory.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Verzeichnis zum Komprimieren.
includeRootDirectory
bool
Angibt, ob die Root-Dokumentation selbst enthalten ist oder nicht.
Returns
Das Archiv mit enthaltenen Beiträgen.
Examples
7z-Archiv mit LZMA2-Kompression zusammengestellt.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(String, FileInfo, Bool, SevenZipEntrySettings)
Erstellen Sie einen einzigen Eingang innerhalb des Archivs.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Der Name des Eingangs.
fileInfo
FileInfo
Die Metadaten der Datei werden komprimiert.
openImmediately
bool
Wahrlich, wenn Sie die Datei sofort öffnen, öffnen Sie sonst die Datei auf Archiv-Speicher.
newEntrySettings
SevenZipEntrySettings
Kompression und Verschlüsselung Einstellungen für das hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Element verwendet.
Returns
Sieben Zip-Einträge.
Examples
Komponieren Sie Archive mit Eingaben verschlüsselt mit verschiedenen Passwörtern jeweils.
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
Der im Parameter angegebenen Dateiname beeinflusst nicht den Eingangsnamen.
Wenn die Datei sofort mit dem Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.
Exceptions
fileInfo’ is read-only or is a directory.
Der angegebenen Weg ist ungültig, z. B. auf einem unmapped Drive.
Die Datei ist bereits geöffnet.
CreateEntry(String, Stream, SevenZipEntrySettings, FileSystemInfo)
Erstellen Sie einen einzigen Eingang innerhalb des Archivs.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Der Name des Eingangs.
source
Stream
Der Eingangstrom für den Eingang.
newEntrySettings
SevenZipEntrySettings
Kompression und Verschlüsselung Einstellungen für das hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Element verwendet.
fileInfo
FileSystemInfo
Die Metadaten von Datei oder Ordner zu komprimieren.
Returns
Sieben Zip Eintritt.
Examples
Komponieren Sie das Archiv mit LZMA2 komprimiert verschlüsseltem Eingang.
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
Der im Parameter angegebenen Dateiname beeinflusst nicht den Eingangsnamen.
Sie können auf System.IO.DirectoryInfo beziehen, wenn die Eingabe ein Katalog ist.
Exceptions
Zwei source’ und
fileInfo’ sind null oder
source’ ist null und
fileInfo’ steht für den Katalog.
CreateEntry(String, Stream, SevenZipEntrySettings)
Erstellen Sie einen einzigen Eingang innerhalb des Archivs.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Der Name des Eingangs.
source
Stream
Der Eingangstrom für den Eingang.
newEntrySettings
SevenZipEntrySettings
Kompression und Verschlüsselung Einstellungen für das hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Element verwendet.
Returns
Zip Eintrittsinstanz.
Examples
7z-Archiv mit LZMA2 Kompression und Verschlüsselung aller Einträge.
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)
Erstellen Sie einen einzigen Eingang innerhalb des Archivs.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Der Name des Eingangs.
path
string
Der vollständig qualifizierte Name der neuen Datei oder der relativen Dateiname, der komprimiert werden soll.
openImmediately
bool
Wahrlich, wenn Sie die Datei sofort öffnen, öffnen Sie sonst die Datei auf Archiv-Speicher.
newEntrySettings
SevenZipEntrySettings
Kompression und Verschlüsselung Einstellungen für das hinzugefügt Aspose.Zip.SevenZip.SevenZipArchiveEntry Element verwendet.
Returns
Zip Eintrittsinstanz.
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
Der im Parameter angegebenen Dateiname beeinflusst nicht den Eingangsnamen.
Wenn die Datei sofort mit dem Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.
Exceptions
path’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei path" wird abgelehnt.
Die angegebenen path’, Dateinamen, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.
Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.
Dispose()
Er erfüllt anwendungsdefinierte Aufgaben, die mit der Freisetzung, Freisetzung oder Wiederherstellung unverwalter Ressourcen verbunden sind.
public void Dispose()
Dispose(Bool)
Er erfüllt anwendungsdefinierte Aufgaben, die mit der Freisetzung, Freisetzung oder Wiederherstellung unverwalter Ressourcen verbunden sind.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Ob verwaltete Ressourcen abgeschieden werden sollten.
ExtractToDirectory(String und String)
Entfernen Sie alle Dateien im Archiv in das angebotene Katalog.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Der Weg zum Katalog, um die extrahierten Dateien in.
password
string
Optional Passwort für Content Decryption.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Wenn das Katalog nicht existiert, wird es erstellt.
Wenn die Dateinamen verschlüsselt sind, geben Sie ein Passwort in Aspose.Zip.SevenZop-Archive.#ctor(System.String,Systems. String) oder Aspos. Zips.Nachsitz.SevenZupArhive .# ctor (Sistem.IO.Stream,system.string).
Exceptions
destinationDirectory’ is null.
Die angegebenen Path, Dateinamen oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel müssen auf Windows-basierten Plattformen Paths weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen sein.
Der Anrufgeber hat nicht die erforderliche Erlaubnis, das bestehende Direktorium zuzugreifen.
Wenn der Direktor nicht existiert, enthält der Pfad einen Zollkarakter (:) der nicht Teil eines Labels ist (“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 (:).
Die durch den Weg angegebenen Katalog ist eine Datei. -or- Der Netzwerkname ist nicht bekannt.
Das Archiv ist korrupt.
Save(Stream)
Speichert 7z-Archiv auf den bereitgestellten Strom.
public void Save(Stream output)
Parameters
output
Stream
Der Destinationstrom.
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
muss erforschbar sein.
Exceptions
output’ does not support seeking.
output’ is null.
Der Encoder konnte die Daten nicht komprimieren.
Save(String)
Speichern Sie das Archiv zu einem bereitgestellten Zieldatei.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Wenn der angegebenen Datei-Name auf eine bestehende Datei bezieht, wird sie übergeschrieben.
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
Es ist möglich, ein Archiv auf dem gleichen Weg zu speichern, wie es heruntergeladen wurde. jedoch wird dies nicht empfohlen, weil dieser Ansatz Kopieren zu einer vorübergehenden Datei verwendet.
Exceptions
destinationFileName’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.
Die destinationFileName’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.
Der Zugriff auf die Datei destinationFileName’ wird abgelehnt.
Die angegebenen destinationFileName’, Dateiname, oder beide überschreiten die Systemdefinierte maximale Länge. Zum Beispiel auf Windows-basierten Plattformen müssen die Spuren weniger als 248 Zeichen und die Dateinamen weniger als 260 Zeichen sein.
Datei bei destinationFileName’ enthält eine Kolonne (:) in der Mitte der Zeile.
SaveSplit(String, SplitSevenZipArchiveSaveOptions)
Speichert das Multi-Volume-Archiv in das angebotene Ziele-Direktorien.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Der Weg zum Katalog, in dem Archivsegmente erstellt werden sollen.
options
SplitSevenZipArchiveSaveOptions
Optionen für die Archiv-Speicherung, einschließlich des Dateinamen.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Diese Methode besteht aus mehreren () Dateien filename.7z.001, filename.7z.002, …, filename.7z.(n).
Es ist nicht möglich, bestehende Archiv-Multi-Volume zu machen.
Exceptions
Dieses Archiv wurde von der bestehenden Quelle geöffnet.
destinationDirectory’ is null.
Der Anrufgeber hat nicht die erforderliche Erlaubnis, das Direktorium zuzugreifen.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Der angegebenen Weg überschreitet die Systemdefinierte Höchstlänge.