Sprache

TarFile.ExtractToDirectoryAsync Methode

Definition

Überlädt

Name Beschreibung
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Extrahiert asynchron den Inhalt einer Tar-Datei in das angegebene Verzeichnis.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Extrahiert asynchron den Inhalt eines Datenstroms, der ein Tar-Archiv in das angegebene Verzeichnis darstellt.

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)
ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs

Extrahiert asynchron den Inhalt einer Tar-Datei in das angegebene Verzeichnis.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

sourceFileName
String

Der Pfad der zu extrahierenden Tar-Datei.

destinationDirectoryName
String

Der Pfad des Zielverzeichnisses, in dem die Dateisystemeinträge extrahiert werden sollen. In .NET 11 und früheren Versionen muss das Verzeichnis bereits vorhanden sein. In .NET 12 und neueren Versionen werden fehlende Ziel- und übergeordnete Verzeichnisse nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

overwriteFiles
Boolean

true zum Überschreiben von Dateien und Verzeichnissen in destinationDirectoryName; false um das Überschreiben zu vermeiden und auszuwerfen, wenn Dateien oder Verzeichnisse mit vorhandenen Namen gefunden werden.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll. Der Standardwert ist None.

Gibt zurück

Eine Aufgabe, die den asynchronen Extraktionsvorgang darstellt.

Ausnahmen

sourceFileName oder destinationDirectoryName ist null.

.NET 11 und früheren Versionen: Das destinationDirectoryName Verzeichnis ist nicht vorhanden.

Der sourceFileName Dateipfad wurde nicht gefunden.

Berechtigungen sind nicht ausreichend.

Das Extrahieren eines der Tar-Einträge hätte zu einer Datei außerhalb des angegebenen Zielverzeichnisses geführt.

-oder-

sourceFileName oder destinationDirectoryName ist leer.

.NET 11 und höher: Die Prüfsumme eines Eintrags ist ungültig.

Es ist eine E/A-Ausnahme aufgetreten.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

In .NET 11 und früheren Versionen muss das von destinationDirectoryName ihnen angegebene Verzeichnis bereits vorhanden sein. Wenn sie nicht vorhanden ist, löst diese Methode ein DirectoryNotFoundException, auch wenn das Archiv leer ist.

In .NET 12 und höheren Versionen kann das Zielverzeichnis bereits vorhanden sein. Fehlende Ziel- und übergeordnete Verzeichnisse werden nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

Wenn eine symbolische Verknüpfung oder Verbindung im Tar-Archiv zu einer Datei führt, die außerhalb des angegebenen Bereichs destinationDirectoryNameextrahiert wird, wird eine IOException ausgelöst, um sicherzustellen, dass die Extraktion innerhalb desselben Verzeichnisses verbleibt.

Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.

Dateien vom Typ BlockDevice, CharacterDeviceoder Fifo können nur in Unix-Plattformen extrahiert werden.

Zum Extrahieren einer BlockDevice oder CharacterDevice eines Datenträgers ist eine Erhöhung erforderlich.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von ExtractToDirectory(String, String, Boolean).

Gilt für:

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs
Quelle:
TarFile.cs

Extrahiert asynchron den Inhalt eines Datenstroms, der ein Tar-Archiv in das angegebene Verzeichnis darstellt.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

source
Stream

Der Datenstrom, der das Tar-Archiv enthält.

destinationDirectoryName
String

Der Pfad des Zielverzeichnisses, in dem die Dateisystemeinträge extrahiert werden sollen. In .NET 11 und früheren Versionen muss das Verzeichnis bereits vorhanden sein. In .NET 12 und neueren Versionen werden fehlende Ziel- und übergeordnete Verzeichnisse nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

overwriteFiles
Boolean

true zum Überschreiben von Dateien und Verzeichnissen in destinationDirectoryName; false um das Überschreiben zu vermeiden und auszuwerfen, wenn Dateien oder Verzeichnisse mit vorhandenen Namen gefunden werden.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll. Der Standardwert ist None.

Gibt zurück

Eine Aufgabe, die den asynchronen Extraktionsvorgang darstellt.

Ausnahmen

source oder destinationDirectoryName ist null.

.NET 11 und früheren Versionen: Das destinationDirectoryName Verzeichnis ist nicht vorhanden.

Berechtigungen sind nicht ausreichend.

Das Extrahieren eines der Tar-Einträge hätte zu einer Datei außerhalb des angegebenen Zielverzeichnisses geführt.

-oder-

destinationDirectoryName ist leer.

-oder-

source das Lesen wird nicht unterstützt.

.NET 11 und höher: Die Prüfsumme eines Eintrags ist ungültig.

Es ist eine E/A-Ausnahme aufgetreten.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

In .NET 11 und früheren Versionen muss das von destinationDirectoryName ihnen angegebene Verzeichnis bereits vorhanden sein. Wenn sie nicht vorhanden ist, löst diese Methode ein DirectoryNotFoundException, auch wenn das Archiv leer ist.

In .NET 12 und höheren Versionen kann das Zielverzeichnis bereits vorhanden sein. Fehlende Ziel- und übergeordnete Verzeichnisse werden nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

Wenn eine symbolische Verknüpfung oder Verbindung im Tar-Archiv zu einer Datei führt, die außerhalb des angegebenen Bereichs destinationDirectoryNameextrahiert wird, wird eine IOException ausgelöst, um sicherzustellen, dass die Extraktion innerhalb desselben Verzeichnisses verbleibt.

Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.

Dateien vom Typ BlockDevice, CharacterDeviceoder Fifo können nur in Unix-Plattformen extrahiert werden.

Zum Extrahieren einer BlockDevice oder CharacterDevice eines Datenträgers ist eine Erhöhung erforderlich.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von ExtractToDirectory(Stream, String, Boolean).

Gilt für:

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)

Quelle:
TarFile.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Formats.Tar.TarExtractOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, options As TarExtractOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

source
Stream
destinationDirectoryName
String

Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. In .NET 11 und früheren Versionen muss das Verzeichnis bereits vorhanden sein. In .NET 12 und neueren Versionen werden fehlende Ziel- und übergeordnete Verzeichnisse nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

cancellationToken
CancellationToken

Gibt zurück

Ausnahmen

.NET 11 und früheren Versionen: Das destinationDirectoryName Verzeichnis ist nicht vorhanden.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

In .NET 11 und früheren Versionen muss das von destinationDirectoryName ihnen angegebene Verzeichnis bereits vorhanden sein. Wenn sie nicht vorhanden ist, löst diese Methode ein DirectoryNotFoundException, auch wenn das Archiv leer ist.

In .NET 12 und höheren Versionen kann das Zielverzeichnis bereits vorhanden sein. Fehlende Ziel- und übergeordnete Verzeichnisse werden nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

Der Pfad kann relativ oder absolut sein. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.

Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.

Legen Sie fest OverwriteFiles , true dass vorhandene Dateien überschrieben werden sollen. Der Standardwert lautet false. Hier erfahren Sie HardLinkMode , wie Hartlinkeinträge extrahiert werden.

Wenn eine symbolische Verknüpfung oder Verbindung im Tar-Archiv zu einer Datei führt, die außerhalb des angegebenen Bereichs destinationDirectoryNameextrahiert wird, wird eine IOException ausgelöst, um sicherzustellen, dass die Extraktion innerhalb desselben Verzeichnisses verbleibt.

Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.

Dateien vom Typ BlockDevice, CharacterDeviceoder Fifo können nur in Unix-Plattformen extrahiert werden.

Zum Extrahieren einer BlockDevice oder CharacterDevice eines Datenträgers ist eine Erhöhung erforderlich.

Der source Datenstrom bleibt nach der Extraktion geöffnet.

Ausnahmen, die während der asynchronen Extraktion auftreten, werden in der zurückgegebenen Aufgabe gespeichert und ausgelöst, wenn die Aufgabe erwartet wird.

Gilt für:

ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

Quelle:
TarFile.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Formats.Tar.TarExtractOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceFileName As String, destinationDirectoryName As String, options As TarExtractOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

sourceFileName
String
destinationDirectoryName
String

Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. In .NET 11 und früheren Versionen muss das Verzeichnis bereits vorhanden sein. In .NET 12 und neueren Versionen werden fehlende Ziel- und übergeordnete Verzeichnisse nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

cancellationToken
CancellationToken

Gibt zurück

Ausnahmen

.NET 11 und früheren Versionen: Das destinationDirectoryName Verzeichnis ist nicht vorhanden.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

In .NET 11 und früheren Versionen muss das von destinationDirectoryName ihnen angegebene Verzeichnis bereits vorhanden sein. Wenn sie nicht vorhanden ist, löst diese Methode ein DirectoryNotFoundException, auch wenn das Archiv leer ist.

In .NET 12 und höheren Versionen kann das Zielverzeichnis bereits vorhanden sein. Fehlende Ziel- und übergeordnete Verzeichnisse werden nach Bedarf erstellt, wenn Einträge extrahiert werden. Ein leeres Archiv erstellt keine Verzeichnisse.

Der Pfad kann relativ oder absolut sein. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.

Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.

Legen Sie fest OverwriteFiles , true dass vorhandene Dateien überschrieben werden sollen. Der Standardwert lautet false. Hier erfahren Sie HardLinkMode , wie Hartlinkeinträge extrahiert werden.

Wenn eine symbolische Verknüpfung oder Verbindung im Tar-Archiv zu einer Datei führt, die außerhalb des angegebenen Bereichs destinationDirectoryNameextrahiert wird, wird eine IOException ausgelöst, um sicherzustellen, dass die Extraktion innerhalb desselben Verzeichnisses verbleibt.

Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.

Dateien vom Typ BlockDevice, CharacterDeviceoder Fifo können nur in Unix-Plattformen extrahiert werden.

Zum Extrahieren einer BlockDevice oder CharacterDevice eines Datenträgers ist eine Erhöhung erforderlich.

Ausnahmen, die während der asynchronen Extraktion auftreten, werden in der zurückgegebenen Aufgabe gespeichert und ausgelöst, wenn die Aufgabe erwartet wird.

Gilt für: