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.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: sommart sombutwanitkul/Shutterstock.com)

Lesezeit: 1 Min.
Von
  • 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.

Der Dotnet-Doktor – Holger Schwichtenberg

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)