Class Archive

Class Archive

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

Diese Klasse stellt eine Zip-Archivdatei dar. Verwenden Sie sie, um Zip-Archive zu erstellen, zu extrahieren oder zu aktualisieren.

public class Archive : IArchive, IDisposable

Vererbung

objectArchive

Implementiert

IArchive, IDisposable

Vererbte Mitglieder

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

Konstruktoren

Archive(ArchiveEntrySettings)

Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse mit optionalen Einstellungen für ihre Einträge.

public Archive(ArchiveEntrySettings newEntrySettings = null)

Parameter

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.

Beispiele

Das folgende Beispiel zeigt, wie man eine einzelne Datei mit den Standardeinstellungen komprimiert.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)

Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.

public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameter

sourceStream Stream

Die Quelle des Archivs.

loadOptions ArchiveLoadOptions

Optionen zum Laden eines vorhandenen Archivs.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.

Beispiele

Das folgende Beispiel extrahiert ein verschlüsseltes Archiv und dekomprimiert dann den ersten Eintrag in einen MemoryStream.

var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

Bemerkungen

Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.ArchiveEntry.Open(System.String) zum Dekomprimieren.

Ausnahmen

ArgumentException

sourceStream ist nicht suchbar.

InvalidDataException

Der Verschlüsselungsheader für AES widerspricht der WinZip-Komprimierungsmethode.

Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)

Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.

public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameter

path string

Der vollständig qualifizierte oder relative Pfad zur Archivdatei.

loadOptions ArchiveLoadOptions

Optionen zum Laden eines vorhandenen Archivs.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.

Beispiele

Das folgende Beispiel extrahiert ein verschlüsseltes Archiv und dekomprimiert dann den ersten Eintrag in einen MemoryStream.

var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

Bemerkungen

Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.ArchiveEntry.Open(System.String) zum Dekomprimieren.

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Zugriff auf die Datei path wurde verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

FileNotFoundException

Die Datei wurde nicht gefunden.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.

IOException

Die Datei ist bereits geöffnet.

InvalidDataException

Die Datei ist beschädigt.

Archive(string, string[], ArchiveLoadOptions)

Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse aus einem mehrteiligen Zip-Archiv und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.

public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)

Parameter

mainSegment string

Pfad zum letzten Segment des mehrteiligen Archivs mit dem zentralen Verzeichnis.

In der Regel hat dieses Segment die Erweiterung *.zip und ist kleiner als die anderen.

segmentsInOrder string[]

Pfad zu jedem Segment außer dem letzten des mehrteiligen Zip-Archivs in der richtigen Reihenfolge.

In der Regel werden sie filename.z01, filename.z02, …, filename.z(n-1) genannt.

loadOptions ArchiveLoadOptions

Optionen zum Laden eines vorhandenen Archivs.

Beispiele

Dieses Beispiel extrahiert ein Archiv mit drei Segmenten in ein Verzeichnis.

using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
    a.ExtractToDirectory("destination");
}

Ausnahmen

EndOfStreamException

Kann die ZIP-Header nicht laden, da die bereitgestellten Dateien beschädigt sind.

Eigenschaften

Entries

Erhält die Einträge vom Typ Aspose.Zip.ArchiveEntry, die das Archiv bilden.

public ReadOnlyCollection<archiveentry> Entries { get; }

Eigenschaftswert

ReadOnlyCollection<ArchiveEntry&gt;

NewEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden.

public ArchiveEntrySettings NewEntrySettings { get; }

Eigenschaftswert

ArchiveEntrySettings

Methoden

CreateEntries(DirectoryInfo, bool)

Fügt dem Archiv alle Dateien und Verzeichnisse rekursiv im angegebenen Verzeichnis hinzu.

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

Parameter

directory DirectoryInfo

Verzeichnis zum Komprimieren.

includeRootDirectory bool

Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.

Rückgabewert

Archive

Das Archiv mit den erstellten Einträgen.

Beispiele

using (Archive archive = new Archive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.zip");
}

Ausnahmen

DirectoryNotFoundException

Der Pfad zu directory ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf directory.

CreateEntries(string, bool)

Fügt dem Archiv alle Dateien und Verzeichnisse rekursiv im angegebenen Verzeichnis hinzu.

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

Parameter

sourceDirectory string

Verzeichnis zum Komprimieren.

includeRootDirectory bool

Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.

Rückgabewert

Archive

Das Archiv mit den erstellten Einträgen.

Beispiele

using (Archive archive = new Archive())
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.zip");
}

CreateEntry(string, string, bool, ArchiveEntrySettings)

Erstellt einen einzelnen Eintrag im Archiv.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameter

name string

Der Name des Eintrags.

path string

Der vollständig qualifizierte Name der neuen Datei oder der relative Dateiname, der komprimiert werden soll.

openImmediately bool

Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.

Rückgabewert

ArchiveEntry

Zip-Eintrag-Instanz.

Beispiele

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Bemerkungen

Der Eintragsname wird ausschließlich im name-Parameter festgelegt. Der im path-Parameter angegebene Dateiname hat keinen Einfluss auf den Eintragsnamen.

Wenn die Datei sofort mit dem openImmediately-Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.

Ausnahmen

ArgumentNullException

path ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der path ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Zugriff auf die Datei path wurde verweigert.

PathTooLongException

Der angegebene path, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter path enthält einen Doppelpunkt (:) in der Mitte des Strings.

CreateEntry(string, Stream, ArchiveEntrySettings)

Erstellt einen einzelnen Eintrag im Archiv.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)

Parameter

name string

Der Name des Eintrags.

source Stream

Der Eingabestream für den Eintrag.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.

Rückgabewert

ArchiveEntry

Zip-Eintrag-Instanz.

Beispiele

using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.zip");
}

CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Erstellt einen einzelnen Eintrag im Archiv.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameter

name string

Der Name des Eintrags.

fileInfo FileInfo

Die Metadaten der Datei, die komprimiert werden soll.

openImmediately bool

Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.

Rückgabewert

ArchiveEntry

Zip-Eintrag-Instanz.

Beispiele

Erstellen Sie ein Archiv mit Einträgen, die mit verschiedenen Verschlüsselungsmethoden und Passwörtern verschlüsselt sind.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
        archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
        archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
        archive.Save(zipFile);
    }
}

Bemerkungen

Der Eintragsname wird ausschließlich im name-Parameter festgelegt. Der Dateiname, der im fileInfo-Parameter angegeben ist, hat keinen Einfluss auf den Eintragsnamen.

Wenn die Datei sofort mit dem openImmediately-Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.

Ausnahmen

UnauthorizedAccessException

fileInfo ist schreibgeschützt oder ein Verzeichnis.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.

IOException

Die Datei ist bereits geöffnet.

CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Erstellt einen einzelnen Eintrag im Archiv.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameter

name string

Der Name des Eintrags.

source Stream

Der Eingabestream für den Eintrag.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.

fileInfo FileSystemInfo

Die Metadaten der Datei oder des Ordners, die komprimiert werden sollen.

Rückgabewert

ArchiveEntry

Zip-Eintrag-Instanz.

Beispiele

Erstellen Sie ein Archiv mit einem verschlüsselten Eintrag.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin")); 
        archive.Save(zipFile);
    }
}

Bemerkungen

Der Eintragsname wird ausschließlich im name-Parameter festgelegt. Der Dateiname, der im fileInfo-Parameter angegeben ist, hat keinen Einfluss auf den Eintragsnamen.

fileInfo kann auf System.IO.DirectoryInfo verweisen, wenn der Eintrag ein Verzeichnis ist.

Ausnahmen

InvalidOperationException

Sowohl source als auch fileInfo sind null oder source ist null und fileInfo steht für ein Verzeichnis.

CreateEntry(string, Func<stream>, ArchiveEntrySettings)

Erstellt einen einzelnen Eintrag im Archiv.

public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)

Parameter

name string

Der Name des Eintrags.

streamProvider Func<Stream&gt;

Die Methode, die den Eingabestream für den Eintrag bereitstellt.

newEntrySettings ArchiveEntrySettings

Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.

Rückgabewert

ArchiveEntry

Zip-Eintrag-Instanz.

Beispiele

Erstellen Sie ein Archiv mit einem verschlüsselten Eintrag.

System.Func&lt;Stream&gt; provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")))); 
        archive.Save(zipFile);
    }
}

Bemerkungen

Diese Methode ist für .NET Framework 4.0 und höher sowie für .NET Standard 2.0-Versionen vorgesehen.

DeleteEntry(ArchiveEntry)

Entfernt die erste Vorkommen eines bestimmten Eintrags aus der Eintragsliste.

public Archive DeleteEntry(ArchiveEntry entry)

Parameter

entry ArchiveEntry

Der Eintrag, der aus der Eintragsliste entfernt werden soll.

Rückgabewert

Archive

Das Archiv mit dem gelöschten Eintrag.

Beispiele

Hier ist, wie Sie alle Einträge außer dem letzten entfernen können:

using (var archive = new Archive("archive.zip"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save("last_entry.zip");
}

Ausnahmen

ObjectDisposedException

Das Archiv ist verworfen.

DeleteEntry(int)

Entfernt den Eintrag aus der Eintragsliste nach Index.

public Archive DeleteEntry(int entryIndex)

Parameter

entryIndex int

Der nullbasierte Index des zu entfernenden Eintrags.

Rückgabewert

Archive

Das Archiv mit dem gelöschten Eintrag.

Beispiele

using (var archive = new TarArchive("two_files.zip"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.zip");
}

Ausnahmen

ObjectDisposedException

Das Archiv ist verworfen.

ArgumentOutOfRangeException

entryIndex ist kleiner als 0 oder entryIndex ist gleich oder größer als die Anzahl der Entries.

Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Zurücksetzen von nicht verwalteten Ressourcen verbunden sind.

public void Dispose()

Dispose(bool)

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Zurücksetzen von nicht verwalteten Ressourcen verbunden sind.

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Ob verwaltete Ressourcen freigegeben werden sollen oder nicht.

ExtractToDirectory(string)

Extrahiert alle Dateien im Archiv in das angegebene Verzeichnis.

public void ExtractToDirectory(string destinationDirectory)

Parameter

destinationDirectory string

Der Pfad zum Verzeichnis, in das die extrahierten Dateien abgelegt werden sollen.

Beispiele

using (var archive = new Archive("archive.zip")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Bemerkungen

Wenn das Verzeichnis nicht existiert, wird es erstellt.

Ausnahmen

ArgumentNullException

destinationDirectory ist null.

PathTooLongException

Der angegebene Pfad, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das vorhandene Verzeichnis.

NotSupportedException

Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das nicht Teil eines Laufwerkslabels (“C:") ist.

ArgumentException

destinationDirectory ist eine null-längige Zeichenfolge, enthält nur Leerzeichen oder enthält eines oder mehrere ungültige Zeichen. Sie können nach ungültigen Zeichen suchen, indem Sie die Methode System.IO.Path.GetInvalidPathChars verwenden. -oder- der Pfad ist mit oder enthält nur ein Doppelpunktzeichen (:).

IOException

Das Verzeichnis, das durch den Pfad angegeben wird, ist eine Datei. -oder- Der Netzwerkname ist unbekannt.

InvalidDataException

Ein falsches Passwort wurde angegeben. - oder - Das Archiv ist beschädigt.

Save(Stream, ArchiveSaveOptions)

Speichert das Archiv im bereitgestellten Stream.

public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)

Parameter

outputStream Stream

Zielstream.

saveOptions ArchiveSaveOptions

Optionen zum Speichern des Archivs.

Beispiele

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry.bin", "data.bin");
        archive.Save(zipFile);
    }
}

Bemerkungen

outputStream muss beschreibbar sein.

Ausnahmen

ArgumentException

outputStream ist nicht beschreibbar.

ObjectDisposedException

Das Archiv ist verworfen.

Save(string, ArchiveSaveOptions)

Speichert das Archiv in der angegebenen Zieldatei.

public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)

Parameter

destinationFileName string

Der Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird sie überschrieben.

saveOptions ArchiveSaveOptions

Optionen zum Speichern des Archivs.

Beispiele

using (var archive = new Archive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.Save("archive.zip",  new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}

Bemerkungen

Es ist möglich, ein Archiv im gleichen Pfad zu speichern, von dem es geladen wurde. Dies wird jedoch nicht empfohlen, da dieser Ansatz eine Kopie in einer temporären Datei verwendet.

Ausnahmen

ArgumentNullException

destinationFileName ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.

ArgumentException

Der destinationFileName ist leer, enthält nur Leerzeichen oder ungültige Zeichen.

UnauthorizedAccessException

Zugriff auf die Datei destinationFileName wurde verweigert.

PathTooLongException

Der angegebene destinationFileName, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.

NotSupportedException

Die Datei unter destinationFileName enthält einen Doppelpunkt (:) in der Mitte des Strings.

FileNotFoundException

Die Datei wurde nicht gefunden.

DirectoryNotFoundException

Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.

IOException

Die Datei ist bereits geöffnet.

SaveSplit(string, SplitArchiveSaveOptions)

Speichert ein mehrteiliges Archiv im angegebenen Zielverzeichnis.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

Parameter

destinationDirectory string

Der Pfad zum Verzeichnis, in dem die Archivsegmente erstellt werden sollen.

options SplitArchiveSaveOptions

Optionen zum Speichern des Archivs, einschließlich des Dateinamens.

Beispiele

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

Bemerkungen

Diese Methode erstellt mehrere (n) Dateien mit den Namen filename.z01, filename.z02, ..., filename.z(n-1), filename.zip.

Es kann kein bestehendes Archiv mehrteilig gemacht werden.

Ausnahmen

InvalidOperationException

Dieses Archiv wurde aus einer vorhandenen Quelle geöffnet.

NotSupportedException

Dieses Archiv ist sowohl mit der XZ-Methode komprimiert als auch verschlüsselt.

ArgumentNullException

destinationDirectory ist null.

SecurityException

Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das Verzeichnis.

ArgumentException

destinationDirectory enthält ungültige Zeichen wie “, >, < oder |.

PathTooLongException

Der angegebene Pfad überschreitet die systemdefinierte maximale Länge.

ObjectDisposedException

Das Archiv ist verworfen.

 Deutsch