Sie sind hier: Weblog

Neu in .NET 7.0 [20]: Tar-Archive

Foto Dr. Holger Schwichtenberg, Dr. Holger Schwichtenberg
04.07.2023 08:02:00

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 Chief Technology Expert bei MAXIMAGO, die Innovations- und Experience-getriebener Softwareentwicklung, u.a. in hochkritischen sicherheitstechnischen Bereichen, anbietet. Zudem ist er Leiter des Expertennetzwerks www.IT-Visions.de, das mit 38 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratung und Schulung bei der Entwicklung sowie dem Betrieb von Software unterstützt.

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)