TarFile.ExtractToDirectoryAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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.
- options
- TarExtractOptions
- 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.
- options
- TarExtractOptions
- 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.