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.
(Bild: sommart sombutwanitkul/Shutterstock.com)
- 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).
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)