ZipFile.CreateFromDirectory 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.
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält.
Überlädt
CreateFromDirectory(String, Stream) |
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält. |
CreateFromDirectory(String, String) |
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält. |
CreateFromDirectory(String, Stream, CompressionLevel, Boolean) |
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, die angegebene Komprimierungsebene verwendet und optional das Basisverzeichnis einschließt. |
CreateFromDirectory(String, String, CompressionLevel, Boolean) |
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält, verwendet die angegebene Komprimierungsebene und optional das Basisverzeichnis. |
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding) |
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, verwendet die angegebene Komprimierungsebene und Zeichencodierung für Eintragsnamen und schließt optional das Basisverzeichnis ein. |
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding) |
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält, die angegebene Komprimierungsebene und der angegebenen Zeichencodierung für Eintragsnamen verwendet und optional das Basisverzeichnis mit einbezieht. |
CreateFromDirectory(String, Stream)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination);
public static void CreateFromDirectory (string sourceDirectoryName, System.IO.Stream destination);
static member CreateFromDirectory : string * System.IO.Stream -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, 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.
Ausnahmen
sourceDirectoryName
ist gleich Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Das destination
Schreiben wird vom Stream nicht unterstützt.
sourceDirectoryName
oder destination
ist null
.
Im sourceDirectoryName
angegebenen Pfad überschreiten der Dateiname oder beide die systemdefinierte maximale Länge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich 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.
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 Ausnahme aus IOException .
Gilt für:
CreateFromDirectory(String, String)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName);
public static void CreateFromDirectory (string sourceDirectoryName, string destinationArchiveFileName);
static member CreateFromDirectory : string * string -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destinationArchiveFileName
- String
Der Pfad des zu erstellenden Archivs, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Ausnahmen
sourceDirectoryName
oder destinationArchiveFileName
ist Empty, enthält nur Leerraum oder mindestens ein ungültiges Zeichen.
sourceDirectoryName
oder destinationArchiveFileName
ist null
.
Im sourceDirectoryName
oder destinationArchiveFileName
überschreiten der angegebene Pfad und/oder der Dateiname die vom System vorgegebene Höchstlänge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
destinationArchiveFileName
ist bereits vorhanden.
- oder -
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
- oder -
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName
gibt ein Verzeichnis an.
- oder -
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das in sourceDirectoryName
angegebene Verzeichnis oder die in destinationArchiveFileName
angegebene Datei.
sourceDirectoryName
oder destinationArchiveFileName
enthält ein ungültiges Format.
- oder -
Das ZIP-Archiv unterstützt keine Schreibvorgänge.
Beispiele
In diesem Beispiel wird gezeigt, wie Sie mithilfe der ZipFile -Klasse ein ZIP-Archiv erstellen und extrahieren. Der Inhalt eines Ordners wird in ein ZIP-Archiv komprimiert und dann in einen neuen Ordner extrahiert. Um die ZipFile-Klasse zu verwenden, müssen Sie auf die System.IO.Compression.FileSystem
-Assembly in Ihrem Projekt verweisen.
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
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, String, CompressionLevel, Boolean) Methodenüberladung auf.
Wenn das Archiv bereits vorhanden ist, wird eine IOException Ausnahme ausgelöst. Wenn bereits ein Eintrag mit dem angegebenen Namen im Archiv vorhanden ist, wird ein zweiter Eintrag mit einem identischen Namen 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 IOException .
Gilt für:
CreateFromDirectory(String, Stream, CompressionLevel, Boolean)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, die angegebene Komprimierungsebene verwendet und optional das Basisverzeichnis einschließt.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory);
public static void CreateFromDirectory (string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory);
static member CreateFromDirectory : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, 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 Geschwindigkeit oder Komprimierungseffektivität priorisiert wird, wenn der Eintrag erstellt.
- includeBaseDirectory
- Boolean
true
, um den Verzeichnisnamens von sourceDirectoryName
am Stamm des Archivs einzuschließen; false
, um nur der Inhalt des Verzeichnisses einzuschließen.
Ausnahmen
sourceDirectoryName
ist gleich Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Das destination
Schreiben wird vom Stream nicht unterstützt.
sourceDirectoryName
oder destination
ist null
.
Im sourceDirectoryName
angegebenen Pfad überschreiten der Dateiname oder beide die systemdefinierte maximale Länge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich 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.
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 Ausnahme aus IOException .
Gilt für:
CreateFromDirectory(String, String, CompressionLevel, Boolean)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält, verwendet die angegebene Komprimierungsebene und optional das Basisverzeichnis.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory);
public static void CreateFromDirectory (string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destinationArchiveFileName
- String
Der Pfad des zu erstellenden Archivs, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der angibt, ob Geschwindigkeit oder Komprimierungseffektivität priorisiert wird, wenn der Eintrag erstellt.
- includeBaseDirectory
- Boolean
true
, um den Verzeichnisnamens von sourceDirectoryName
am Stamm des Archivs einzuschließen; false
, um nur der Inhalt des Verzeichnisses einzuschließen.
Ausnahmen
sourceDirectoryName
oder destinationArchiveFileName
ist Empty, enthält nur Leerraum oder mindestens ein ungültiges Zeichen.
sourceDirectoryName
oder destinationArchiveFileName
ist null
.
Im sourceDirectoryName
oder destinationArchiveFileName
überschreiten der angegebene Pfad und/oder der Dateiname die vom System vorgegebene Höchstlänge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
destinationArchiveFileName
ist bereits vorhanden.
- oder -
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
- oder -
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName
gibt ein Verzeichnis an.
- oder -
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das in sourceDirectoryName
angegebene Verzeichnis oder die in destinationArchiveFileName
angegebene Datei.
sourceDirectoryName
oder destinationArchiveFileName
enthält ein ungültiges Format.
- oder -
Das ZIP-Archiv unterstützt keine Schreibvorgänge.
Beispiele
In diesem Beispiel wird gezeigt, wie Sie mithilfe der ZipFile -Klasse ein ZIP-Archiv erstellen und extrahieren. Der Inhalt eines Ordners wird in ein ZIP-Archiv komprimiert und dann in einen neuen Ordner extrahiert. Beim Komprimieren des Archivs ist das Basisverzeichnis enthalten, und die Komprimierungsebene wird festgelegt, um die Geschwindigkeit des Vorgangs gegenüber der Effizienz hervorzuheben. Um die ZipFile-Klasse zu verwenden, müssen Sie auf die System.IO.Compression.FileSystem
-Assembly in Ihrem Projekt verweisen.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}
open System.IO.Compression
let startPath = @"c:\example\start"
let zipPath = @"c:\example\result.zip"
let extractPath = @"c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = "c:\example\start"
Dim zipPath As String = "c:\example\result.zip"
Dim extractPath As String = "c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, True)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
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 das Archiv bereits vorhanden ist, wird eine IOException Ausnahme ausgelöst. Wenn bereits ein Eintrag mit dem angegebenen Namen im Archiv vorhanden ist, wird ein zweiter Eintrag mit einem identischen Namen 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 IOException .
Gilt für:
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv im angegebenen Stream, das die Dateien und Verzeichnisse aus dem angegebenen Verzeichnis enthält, verwendet die angegebene Komprimierungsebene und Zeichencodierung für Eintragsnamen und schließt optional das Basisverzeichnis ein.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::IO::Stream ^ destination, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory, System::Text::Encoding ^ entryNameEncoding);
public static void CreateFromDirectory (string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding);
static member CreateFromDirectory : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, 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 Geschwindigkeit oder Komprimierungseffektivität priorisiert wird, wenn der Eintrag erstellt.
- includeBaseDirectory
- Boolean
true
, um den Verzeichnisnamens von sourceDirectoryName
am Stamm des Archivs einzuschließen; false
, um nur der 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-Archiv-Tools und -Bibliotheken erforderlich ist, die die UTF-8-Codierung für Eintragsnamen nicht unterstützen.
Ausnahmen
sourceDirectoryName
ist gleich Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Das destination
Schreiben wird vom Stream nicht unterstützt.
sourceDirectoryName
oder destination
ist null
.
Im sourceDirectoryName
angegebenen Pfad überschreiten der Dateiname oder beide die systemdefinierte maximale Länge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich 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.
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 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 Ausnahme aus IOException .
Gilt für:
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
- Quelle:
- ZipFile.Create.cs
Erstellt ein ZIP-Archiv, das die Dateien und Verzeichnisse im angegebenen Verzeichnis enthält, die angegebene Komprimierungsebene und der angegebenen Zeichencodierung für Eintragsnamen verwendet und optional das Basisverzeichnis mit einbezieht.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory, System::Text::Encoding ^ entryNameEncoding);
public static void CreateFromDirectory (string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding entryNameEncoding);
public static void CreateFromDirectory (string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding)
Parameter
- sourceDirectoryName
- String
Der Pfad zum Verzeichnis, das archiviert werden soll, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- destinationArchiveFileName
- String
Der Pfad des zu erstellenden Archivs, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- compressionLevel
- CompressionLevel
Einer der Enumerationswerte, der angibt, ob Geschwindigkeit oder Komprimierungseffektivität priorisiert wird, wenn der Eintrag erstellt.
- includeBaseDirectory
- Boolean
true
, um den Verzeichnisnamens von sourceDirectoryName
am Stamm des Archivs einzuschließen; false
, um nur der 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-Archiv-Tools und -Bibliotheken erforderlich ist, die die UTF-8-Codierung für Eintragsnamen nicht unterstützen.
Ausnahmen
sourceDirectoryName
oder destinationArchiveFileName
ist Empty, enthält nur Leerraum oder mindestens ein ungültiges Zeichen.
- oder -
entryNameEncoding
wird auf eine andere Unicode-Codierung als UTF-8 festgelegt.
sourceDirectoryName
oder destinationArchiveFileName
ist null
.
Im sourceDirectoryName
oder destinationArchiveFileName
überschreiten der angegebene Pfad und/oder der Dateiname die vom System vorgegebene Höchstlänge.
sourceDirectoryName
ist ungültig oder nicht vorhanden (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).
destinationArchiveFileName
ist bereits vorhanden.
- oder -
Eine Datei im angegebenen Verzeichnis konnte nicht geöffnet werden.
- oder -
Beim Öffnen einer zu archivierenden Datei ist ein E/A-Fehler aufgetreten.
destinationArchiveFileName
gibt ein Verzeichnis an.
- oder -
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das in sourceDirectoryName
angegebene Verzeichnis oder die in destinationArchiveFileName
angegebene Datei.
sourceDirectoryName
oder destinationArchiveFileName
enthält ein ungültiges Format.
- oder -
Das ZIP-Archiv unterstützt keine Schreibvorgänge.
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 zeichencodierung anzugeben und anzugeben, ob das Basisverzeichnis in das Archiv eingeschlossen werden soll.
Wenn das Archiv bereits vorhanden ist, wird eine IOException Ausnahme ausgelöst. Wenn bereits ein Eintrag mit dem angegebenen Namen im Archiv vorhanden ist, wird ein zweiter Eintrag mit einem identischen Namen 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 IOException .
Wenn entryNameEncoding
auf einen anderen Wert als null
festgelegt ist, werden die Eintragsnamen mithilfe der angegebenen Codierung codiert. Wenn die angegebene Codierung utf-8 ist, wird das Sprachcodierungsflag (im universellen Bitflag des lokalen Dateiheaders) für jeden Eintrag festgelegt.
Wenn entryNameEncoding
auf null
festgelegt ist, werden die Eintragsnamen gemäß den folgenden Regeln codiert:
Für Eintragsnamen, die Zeichen außerhalb des ASCII-Bereichs enthalten, wird das Sprachcodierungsflag festgelegt, und UTF-8 wird zum Codieren des Eintragsnamens verwendet.
Für Eintragsnamen, die nur ASCII-Zeichen enthalten, wird das Sprachcodierungsflag festgelegt, und die aktuelle Standardcodepage des Systems wird zum Codieren der Eintragsnamen verwendet.