ZipFile.CreateFromDirectoryAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält. |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv am Pfad |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, mithilfe der angegebenen Komprimierungsebene und optional einschließlich des Basisverzeichnisses. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv an dem Pfad |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, mithilfe der angegebenen Komprimierungsebene und Zeichencodierung für Eintragsnamen und optional einschließlich des Basisverzeichnisses. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
Erstellt asynchron ein ZIP-Archiv an dem Pfad |
CreateFromDirectoryAsync(String, Stream, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum zu archivierenden Verzeichnis, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destination
- Stream
Der Stream, in dem das ZIP-Archiv gespeichert werden soll.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
-oder-
Der destination Datenstrom unterstützt das Schreiben nicht.
sourceDirectoryName oder destination ist null.
In sourceDirectoryName, der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
sourceDirectoryName ist ungültig oder nicht vorhanden (z. B. auf einem nicht zugeordneten Laufwerk).
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
sourceDirectoryName enthält ein ungültiges Format.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur aus dem Dateisystem wird im Archiv beibehalten. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt.
Diese Methodenüberladung enthält nicht das Basisverzeichnis im Archiv und ermöglicht es Ihnen nicht, eine Komprimierungsebene anzugeben.
Wenn Sie das Basisverzeichnis einschließen oder eine Komprimierungsebene angeben möchten, rufen Sie die CreateFromDirectory(String, Stream, CompressionLevel, Boolean) Methodenüberladung auf.
Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine IOException Ausnahme aus.
Gilt für:
CreateFromDirectoryAsync(String, String, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv am Pfad destinationArchiveFileName , der die Dateien und Verzeichnisse aus dem verzeichnis enthält, das durch sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis im Dateisystem, das archiviert werden soll.
- destinationArchiveFileName
- String
Der Name des zu erstellenden Archivs.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName oder destinationArchiveFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
sourceDirectoryName oder destinationArchiveFileName ist null.
In sourceDirectoryName oder destinationArchiveFileName, der angegebene Pfad, Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der in sourceDirectoryName oder destinationArchiveFileName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
-oder-
Das von sourceDirectoryName ihnen angegebene Verzeichnis ist nicht vorhanden.
destinationArchiveFileName ist bereits vorhanden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceDirectoryName oder destinationArchiveFileName weist ein ungültiges Format auf.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur wird im Archiv beibehalten, und es erfolgt eine rekursive Suche, damit Dateien archiviert werden können. Das Archiv darf nicht vorhanden sein. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt. Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine Ausnahme aus. Diese Methode enthält das Basisverzeichnis nicht in das Archiv.
Wenn beim Hinzufügen von Dateien zum Archiv ein Fehler auftritt, beendet diese Methode das Hinzufügen von Dateien und lässt das Archiv in einem ungültigen Zustand. Die Pfade dürfen relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Wenn eine Datei im Archiv Daten im letzten Schreibzeitfeld enthält, das kein gültiger ZIP-Zeitstempel ist, wird ein Indikatorwert von 1980 Januar um Mitternacht für die letzte Änderungszeit der Datei verwendet. Wenn bereits ein Eintrag mit dem angegebenen Namen im Archiv vorhanden ist, wird ein zweiter Eintrag erstellt, der über einen identischen Namen verfügt. Da kein CompressionLevel Wert angegeben wird, wird der von der Implementierung des zugrunde liegenden Komprimierungsalgorithmus bereitgestellte Standard verwendet. Der ZipArchive Standardwert wird nicht festgelegt.
(Derzeit wird der zugrunde liegende Komprimierungsalgorithmus von der DeflateStream Klasse bereitgestellt.)
Gilt für:
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, mithilfe der angegebenen Komprimierungsebene und optional einschließlich des Basisverzeichnisses.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum zu archivierenden Verzeichnis, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destination
- Stream
Der Stream, in dem das ZIP-Archiv gespeichert werden soll.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der angibt, ob die Geschwindigkeits- oder Komprimierungseffektivität beim Erstellen des Eintrags hervorgehoben werden soll.
- includeBaseDirectory
- Boolean
true um den Verzeichnisnamen sourceDirectoryName aus dem Stammverzeichnis des Archivs einzuschließen; false um nur den Inhalt des Verzeichnisses einzuschließen.
- cancellationToken
- CancellationToken
Das Token, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
-oder-
Der destination Datenstrom unterstützt das Schreiben nicht.
sourceDirectoryName oder destination ist null.
In sourceDirectoryName, der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
sourceDirectoryName ist ungültig oder nicht vorhanden (z. B. auf einem nicht zugeordneten Laufwerk).
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
sourceDirectoryName enthält ein ungültiges Format.
compressionLevel ist kein gültiger CompressionLevel Wert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur aus dem Dateisystem wird im Archiv beibehalten. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt.
Verwenden Sie diese Methodenüberladung, um die Komprimierungsebene anzugeben und anzugeben, ob das Basisverzeichnis in das Archiv eingeschlossen werden soll.
Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine IOException Ausnahme aus.
Gilt für:
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv an dem Pfad destinationArchiveFileName , der die Dateien und Verzeichnisse im verzeichnis enthält, das durch sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis im Dateisystem, das archiviert werden soll.
- destinationArchiveFileName
- String
Der Name des zu erstellenden Archivs.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der die Komprimierungsebene angibt (Geschwindigkeit/Arbeitsspeicher im Vergleich zur komprimierten Größe).
- includeBaseDirectory
- Boolean
true um anzugeben, dass ein Benanntes sourceDirectoryName Verzeichnis im Stammverzeichnis des Archivs enthalten sein soll.
false um anzugeben, dass die Dateien und Verzeichnisse sourceDirectoryName direkt in das Archiv aufgenommen werden sollen.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName oder destinationArchiveFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
sourceDirectoryName oder destinationArchiveFileName ist null.
In sourceDirectoryName oder destinationArchiveFileName, der angegebene Pfad, Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der in sourceDirectoryName oder destinationArchiveFileName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
-oder-
Das von sourceDirectoryName ihnen angegebene Verzeichnis ist nicht vorhanden.
destinationArchiveFileName ist bereits vorhanden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceDirectoryName oder destinationArchiveFileName weist ein ungültiges Format auf.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur wird im Archiv beibehalten, und es erfolgt eine rekursive Suche, damit Dateien archiviert werden können. Das Archiv darf nicht vorhanden sein. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt.
Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine Ausnahme aus. Diese Methode enthält optional das Basisverzeichnis im Archiv.
Wenn beim Hinzufügen von Dateien zum Archiv ein Fehler auftritt, beendet diese Methode das Hinzufügen von Dateien und belässt das Archiv in einem ungültigen Zustand. Die Pfade dürfen relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Wenn eine Datei im Archiv Daten im letzten Schreibzeitfeld enthält, das kein gültiger ZIP-Zeitstempel ist, wird ein Indikatorwert von 1980 Januar um Mitternacht für die letzte Änderungszeit der Datei verwendet. Wenn im Archiv bereits ein Eintrag mit dem angegebenen Namen vorhanden ist, wird ein zweiter Eintrag erstellt, der über einen identischen Namen verfügt. Da kein CompressionLevel Wert angegeben ist, wird der von der Implementierung des zugrunde liegenden Komprimierungsalgorithmus bereitgestellte Standard verwendet; der ZipArchive Standardwert wird nicht festgelegt.
(Derzeit wird der zugrunde liegende Komprimierungsalgorithmus von der DeflateStream Klasse bereitgestellt.)
Gilt für:
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv im angegebenen Datenstrom, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, mithilfe der angegebenen Komprimierungsebene und Zeichencodierung für Eintragsnamen und optional einschließlich des Basisverzeichnisses.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum zu archivierenden Verzeichnis, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destination
- Stream
Der Stream, in dem das ZIP-Archiv gespeichert werden soll.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der angibt, ob die Geschwindigkeits- oder Komprimierungseffektivität beim Erstellen des Eintrags hervorgehoben werden soll.
- includeBaseDirectory
- Boolean
true um den Verzeichnisnamen sourceDirectoryName aus dem Stammverzeichnis des Archivs einzuschließen; false um nur den Inhalt des Verzeichnisses einzuschließen.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
-oder-
Der destination Datenstrom unterstützt das Schreiben nicht.
sourceDirectoryName oder destination ist null.
In sourceDirectoryName, der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
sourceDirectoryName ist ungültig oder nicht vorhanden (z. B. auf einem nicht zugeordneten Laufwerk).
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
sourceDirectoryName enthält ein ungültiges Format.
compressionLevel ist kein gültiger CompressionLevel Wert.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur aus dem Dateisystem wird im Archiv beibehalten. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt.
Verwenden Sie diese Methodenüberladung, um die Komprimierungsebene und die Zeichencodierung anzugeben und anzugeben, ob das Basisverzeichnis in das Archiv eingeschlossen werden soll.
Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine IOException Ausnahme aus.
Gilt für:
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
- Quelle:
- ZipFile.Create.Async.cs
- Quelle:
- ZipFile.Create.Async.cs
Erstellt asynchron ein ZIP-Archiv an dem Pfad destinationArchiveFileName , der die Dateien und Verzeichnisse im verzeichnis enthält, das durch sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis im Dateisystem, das archiviert werden soll.
- destinationArchiveFileName
- String
Der Name des zu erstellenden Archivs.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der die Komprimierungsebene angibt (Geschwindigkeit/Arbeitsspeicher im Vergleich zur komprimierten Größe).
- includeBaseDirectory
- Boolean
true um anzugeben, dass ein Benanntes sourceDirectoryName Verzeichnis im Stammverzeichnis des Archivs enthalten sein soll.
false um anzugeben, dass die Dateien und Verzeichnisse sourceDirectoryName direkt in das Archiv aufgenommen werden sollen.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in dieser ZipArchive verwendet werden soll.
- cancellationToken
- CancellationToken
Das Abbruchtoken, das auf Abbruchanforderungen überwacht werden soll.
Gibt zurück
Ausnahmen
sourceDirectoryName oder destinationArchiveFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
sourceDirectoryName oder destinationArchiveFileName ist null.
In sourceDirectoryName oder destinationArchiveFileName, der angegebene Pfad, Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Auf Windows-basierten Plattformen müssen Pfade beispielsweise kleiner als 248 Zeichen sein, und Dateinamen müssen kleiner als 260 Zeichen sein.
Der in sourceDirectoryName oder destinationArchiveFileName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
-oder-
Das von sourceDirectoryName ihnen angegebene Verzeichnis ist nicht vorhanden.
destinationArchiveFileName ist bereits vorhanden.
-oder-
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceDirectoryName oder destinationArchiveFileName weist ein ungültiges Format auf.
Ein asynchroner Vorgang wird abgebrochen.
Hinweise
Die Verzeichnisstruktur wird im Archiv beibehalten, und es erfolgt eine rekursive Suche, damit Dateien archiviert werden können. Das Archiv darf nicht vorhanden sein. Wenn das Verzeichnis leer ist, wird ein leeres Archiv erstellt.
Wenn eine Datei im Verzeichnis dem Archiv nicht hinzugefügt werden kann, bleibt das Archiv unvollständig und ungültig, und die Methode löst eine Ausnahme aus. Diese Methode enthält optional das Basisverzeichnis im Archiv.
Wenn beim Hinzufügen von Dateien zum Archiv ein Fehler auftritt, beendet diese Methode das Hinzufügen von Dateien und belässt das Archiv in einem ungültigen Zustand. Die Pfade dürfen relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Wenn eine Datei im Archiv Daten im letzten Schreibzeitfeld enthält, das kein gültiger ZIP-Zeitstempel ist, wird ein Indikatorwert von 1980 Januar um Mitternacht für die letzte Änderungszeit der Datei verwendet. Wenn im Archiv bereits ein Eintrag mit dem angegebenen Namen vorhanden ist, wird ein zweiter Eintrag erstellt, der über einen identischen Namen verfügt. Da kein CompressionLevel Wert angegeben ist, wird der von der Implementierung des zugrunde liegenden Komprimierungsalgorithmus bereitgestellte Standard verwendet; der ZipArchive Standardwert wird nicht festgelegt.
(Derzeit wird der zugrunde liegende Komprimierungsalgorithmus von der DeflateStream Klasse bereitgestellt.)
Es wird davon abgeraten, einen anderen Wert als entryNameEncoding einen anderen Wert null anzugeben.
Dies kann jedoch für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich sein, die UTF-8-Codierung für Eintragsnamen oder Kommentare nicht ordnungsgemäß unterstützen.
- Wenn
entryNameEncodingnicht angegeben (== null):- Für Dateinamen oder Kommentare, die Zeichen außerhalb des ASCII-Bereichs enthalten:
Die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) wird im allgemeinen Bit-Flag des lokalen Dateiheaders des entsprechenden Eintrags festgelegt, und UTF-8 (Encoding.UTF8) wird verwendet, um den Eintragsnamen und den Kommentar in Byte zu codieren. - Für Dateinamen oder Kommentare, die keine Zeichen außerhalb des ASCII-Bereichs enthalten:
Die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) wird nicht im allgemeinen Bit-Flag des lokalen Dateiheaders des entsprechenden Eintrags festgelegt, und die aktuelle Systemstandardcodeseite (Encoding.Default) wird verwendet, um die Eintragsnamen und Kommentare in Byte zu codieren.
- Für Dateinamen oder Kommentare, die Zeichen außerhalb des ASCII-Bereichs enthalten:
- Wenn
entryNameEncodingangegeben (!= null):- Der angegebene
entryNameEncodingWert wird immer verwendet, um die Eintragsnamen und Kommentare in Byte zu codieren.
Die Sprachcodierungskennzeichnung (LANGUAGE Encoding Flag, EFS) im allgemeinen Bit-Flag des lokalen Dateiheaders für jeden Eintrag wird nur festgelegt, wenn die angegebeneentryNameEncodingCodierung eine UTF-8-Codierung ist.
- Der angegebene
Andere Unicode-Codierungen als UTF-8 können nicht für den entryNameEncoding, andernfalls wird ein ArgumentException Fehler ausgelöst.