Neu in .NET 7.0 [20]: Tar-Archive
Dass .NET 7.0 auch Tar-Archive verarbeiten kann, ist der Docker-Anbindung an die .NET CLI zu verdanken.
- Dr. Holger Schwichtenberg
Seit .NET 7.0 unterstützt Microsoft auch das unter Unix-basierten Systemen beliebte Archivformat TAR (Tape Archiver, Bandarchivierer). Das Tar-Format wird oft auch als Tarball (Teerklumpen oder Teerkugel) bezeichnet.
Im Namensraum System.Formats.Tar
gibt es seit .NET 7.0 Klassen für das Archivformat TAR. Eingeführt hat Microsoft die TAR-Unterstützung, weil es für das Erstellen von Docker-Container mithilfe der .NET CLI erforderlich ist (siehe Teil 15 und 16 dieser Serie).
Mit der Methode CreateFromDirectory()
erstellt man ein TAR-Archiv aus einem Verzeichnis:
System.Formats.Tar.TarFile.CreateFromDirectory(@"T:\Dokumente",
@"t:\Dokumente.tar",
true);
Ziel kann eine Datei oder ein Stream sein.
Und mit ExtractToDirectory()
extrahiert man das Archiv wieder aus einer Datei oder einem Stream:
System.Formats.Tar.TarFile.ExtractToDirectory(@"t:\dokumente.tar",
true);
Ebenso gibt es im Namensraum System.Formats.Tar
weitere Klassen für das Hinzufügen von Dateien zu Archiven und das Entpacken einzelner Dateien wie TarReader
, TarWriter
und TarEntry
mit Ableitungen für die verschiedenen Unterformate: V7TarEntry
, PosixTarEntry
, GnuTarEntry
, PaxGlobalExtendedAttributesTarEntry
, PaxTarEntry
und UstarTarEntry
.
Ein TAR-Archiv ist im Standard allerdings nicht komprimiert, kann aber mit Komprimierungsverfahren wie GZip kombiniert werden. Mehr dazu gibt es im nächsten Teil der Serie.
(rme)