ZipFileExtensions.CreateEntryFromFile 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.
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)
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)
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.