Neu in .NET 8.0 [23]: Verbesserungen für ZipFile zur Arbeit mit Dateiarchiven
Die Klasse ZipFile besitzt nun Methoden, um ein ZIP-Archiv aus einem Dateisystemordner zu erstellen und Dateien in einen Zielordner zu entpacken.
- Dr. Holger Schwichtenberg
Die Klasse System.IO.Compression.ZipFile
, die es seit dem klassischen .NET Framework 4.5 und im modernen .NET seit Version .NET Core 1.0 gibt, erhält zwei neue statische Methoden CreateFromDirectory()
und ExtractToDirectory()
.
Sie ermöglichen es, ein ZIP-Archiv aus einem Dateisystemordner zu erstellen und Dateien in einen Zielordner zu entpacken.
var quelle = @"t:\dev\";
var ziel = @"t:\dev.zip";
var ziel2 = @"t:\dev2";
Console.WriteLine("Komprimiere Ordner: " + quelle);
var file = new FileInfo(ziel);
if (file.Exists)
{
Console.WriteLine("Zieldatei existiert schon und wird gelöscht: " + ziel);
file.Delete();
}
System.IO.Compression.ZipFile.CreateFromDirectory(quelle, ziel,
System.IO.Compression.CompressionLevel.Optimal,
includeBaseDirectory: true,
entryNameEncoding: Encoding.UTF8);
Console.WriteLine("Datei erzeugt: " + ziel);
file = new FileInfo(ziel);
Console.WriteLine(Math.Round((decimal)file.Length / 1024 / 1024, 2)
+ " MB1");
Console.WriteLine("Extrahiere ZIP-Datei " + ziel + " nach " + ziel2);
System.IO.Compression.ZipFile.ExtractToDirectory(ziel, ziel2,
overwriteFiles: true);
Console.WriteLine("Fertig!");
(rme)