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.

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
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).

Videos by heise

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)