ZipFileExtensions.CreateEntryFromFile Methode

Definition

Archiviert eine Datei durch Komprimieren und Hinzufügen zum ZIP-Archiv.

Überlädt

CreateEntryFromFile(ZipArchive, String, String)

Archiviert eine Datei durch Komprimieren und Hinzufügen zum ZIP-Archiv.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archiviert eine Datei durch Komprimieren mithilfe der angegebenen Komprimierungsebene und Hinzufügen zum ZIP-Archiv.

CreateEntryFromFile(ZipArchive, String, String)

Quelle:
ZipFileExtensions.ZipArchive.Create.cs
Quelle:
ZipFileExtensions.ZipArchive.Create.cs
Quelle:
ZipFileExtensions.ZipArchive.Create.cs

Archiviert eine Datei durch Komprimieren und Hinzufügen zum ZIP-Archiv.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Parameter

destination
ZipArchive

Das der Datei hinzuzufügende ZIP-Archiv.

sourceFileName
String

Der Pfad zu der zu archivierenden Datei. Sie können einen relativen oder einen absoluten Pfad angeben. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.

entryName
String

Der Name des Eintrags, der im ZIP-Archiv erstellt werden soll.

Gibt zurück

Ein Wrapper für den neuen Eintrag im ZIP-Archiv.

Ausnahmen

sourceFileName ist gleich Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.

- oder -

entryName ist Empty.

sourceFileName oder entryName ist null.

Im sourceFileName überschreiten der angegebene Pfad und/oder der Dateiname die vom System vorgegebene Höchstlänge.

sourceFileName ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).

Die von sourceFileName angegebene Datei kann nicht geöffnet werden oder ist zu groß, um aktualisiert zu werden (aktueller Grenzwert ist Int32.MaxValue).

sourceFileName gibt ein Verzeichnis an.

- oder -

Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf die durch sourceFileName angegebene Datei.

Die von sourceFileName angegebene Datei wird nicht gefunden.

Der sourceFileName-Parameter hat ein ungültiges Format.

- oder -

Das ZIP-Archiv unterstützt keine Schreibvorgänge.

Die ZIP-Archiv wurde freigegeben.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen neuen Eintrag in einem ZIP-Archiv aus einer vorhandenen Datei erstellen.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Hinweise

Der neue Eintrag im Archiv enthält den Inhalt der Datei, die durch angegeben wird sourceFileName. Wenn bereits ein Eintrag mit dem angegebenen Namen (entryName) im Archiv vorhanden ist, wird ein zweiter Eintrag mit einem identischen Namen erstellt. Die LastWriteTime -Eigenschaft des Eintrags ist auf das letzte Mal festgelegt, wenn die Datei im Dateisystem geändert wurde.

Wenn ZipArchiveMode.Update vorhanden ist, ist die Größenbegrenzung eines Eintrags auf Int32.MaxValuebeschränkt. Dieser Grenzwert liegt daran, dass der Updatemodus intern ein MemoryStream verwendet, um die beim Aktualisieren eines Archivs erforderliche Suche zuzulassen, und MemoryStream ein Maximum hat, das der Größe eines int entspricht.

Gilt für:

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Quelle:
ZipFileExtensions.ZipArchive.Create.cs
Quelle:
ZipFileExtensions.ZipArchive.Create.cs
Quelle:
ZipFileExtensions.ZipArchive.Create.cs

Archiviert eine Datei durch Komprimieren mithilfe der angegebenen Komprimierungsebene und Hinzufügen zum ZIP-Archiv.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parameter

destination
ZipArchive

Das der Datei hinzuzufügende ZIP-Archiv.

sourceFileName
String

Der Pfad zu der zu archivierenden Datei. Sie können einen relativen oder einen absoluten Pfad angeben. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.

entryName
String

Der Name des Eintrags, der im ZIP-Archiv erstellt werden soll.

compressionLevel
CompressionLevel

Einer der Enumerationswerte, der angibt, ob Geschwindigkeit oder Komprimierungseffektivität priorisiert wird, wenn der Eintrag erstellt.

Gibt zurück

Ein Wrapper für den neuen Eintrag im ZIP-Archiv.

Ausnahmen

sourceFileName ist gleich Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.

- oder -

entryName ist Empty.

sourceFileName oder entryName ist null.

sourceFileName ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).

Im sourceFileName überschreiten der angegebene Pfad und/oder der Dateiname die vom System vorgegebene Höchstlänge.

Die von sourceFileName angegebene Datei kann nicht geöffnet werden oder ist zu groß, um aktualisiert zu werden (aktueller Grenzwert ist Int32.MaxValue).

sourceFileName gibt ein Verzeichnis an.

- oder -

Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf die durch sourceFileName angegebene Datei.

Die von sourceFileName angegebene Datei wird nicht gefunden.

Der sourceFileName-Parameter hat ein ungültiges Format.

- oder -

Das ZIP-Archiv unterstützt keine Schreibvorgänge.

Die ZIP-Archiv wurde freigegeben.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen neuen Eintrag in einem ZIP-Archiv aus einer vorhandenen Datei erstellen und die Komprimierungsebene angeben.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest);
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Hinweise

Der neue Eintrag im Archiv enthält den Inhalt der Datei, die durch angegeben wird sourceFileName. Wenn bereits ein Eintrag mit dem angegebenen Namen (entryName) im Archiv vorhanden ist, wird ein zweiter Eintrag mit einem identischen Namen erstellt. Die LastWriteTime -Eigenschaft des Eintrags ist auf das letzte Mal festgelegt, wenn die Datei im Dateisystem geändert wurde.

Wenn ZipArchiveMode.Update vorhanden ist, ist die Größenbegrenzung eines Eintrags auf Int32.MaxValuebeschränkt. Dieser Grenzwert liegt daran, dass der Updatemodus intern ein MemoryStream verwendet, um die beim Aktualisieren eines Archivs erforderliche Suche zuzulassen, und MemoryStream ein Maximum hat, das der Größe eines int entspricht.

Gilt für: