Freigeben über


ZipFile.CreateFromDirectory Methode

Definition

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 nullfestgelegt 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 nullfestgelegt 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.

Gilt für: