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.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/5/9/2/7/6/0/shutterstock_665882623-0419d1b803855484.jpeg)
(Bild: rawf8/Shutterstock.com)
- 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)