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.
Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
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)