Class SevenZipArchive

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

object SevenZipArchive

Implements

IArchive , IDisposable

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

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

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

ArgumentNullException

path’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path" wird abgelehnt.

PathTooLongException

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.

NotSupportedException

Die Datei bei path’ enthält eine Kolonne (:) in der Mitte der Zeile.

FileNotFoundException

Die Datei ist nicht gefunden.

DirectoryNotFoundException

Der angegebenen Weg ist ungültig, z. B. auf einem unmapped Drive.

IOException

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

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Der Weg zu einer Datei ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugang zu einem Datei wird abgelehnt.

PathTooLongException

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.

NotSupportedException

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

SevenZipEntrySettings

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

SevenZipArchive

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

DirectoryNotFoundException

Der Weg zu directory’ ist nicht gültig, z. B. auf einem unmapped-Drive.

SecurityException

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

SevenZipArchive

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

SevenZipArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Der angegebenen Weg ist ungültig, z. B. auf einem unmapped Drive.

IOException

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

SevenZipArchiveEntry

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

InvalidOperationException

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

SevenZipArchiveEntry

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

SevenZipArchiveEntry

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

ArgumentNullException

path’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die path’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei path" wird abgelehnt.

PathTooLongException

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.

NotSupportedException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis, das bestehende Direktorium zuzugreifen.

NotSupportedException

Wenn der Direktor nicht existiert, enthält der Pfad einen Zollkarakter (:) der nicht Teil eines Labels ist (“C:”).

ArgumentException

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 (:).

IOException

Die durch den Weg angegebenen Katalog ist eine Datei. -or- Der Netzwerkname ist nicht bekannt.

InvalidDataException

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

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis für den Zugang.

ArgumentException

Die destinationFileName’ ist leer, enthält nur weiße Räume oder enthält ungültige Zeichen.

UnauthorizedAccessException

Der Zugriff auf die Datei destinationFileName’ wird abgelehnt.

PathTooLongException

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.

NotSupportedException

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

InvalidOperationException

Dieses Archiv wurde von der bestehenden Quelle geöffnet.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Der Anrufgeber hat nicht die erforderliche Erlaubnis, das Direktorium zuzugreifen.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

Der angegebenen Weg überschreitet die Systemdefinierte Höchstlänge.

 Deutsch