TarFile.ExtractToDirectory 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 |
|---|---|
| ExtractToDirectory(Stream, String, Boolean) |
Extrahiert den Inhalt eines Datenstroms, der ein Tar-Archiv in das angegebene Verzeichnis darstellt. |
| ExtractToDirectory(String, String, Boolean) |
Extrahiert den Inhalt einer Tar-Datei in das angegebene Verzeichnis. |
ExtractToDirectory(Stream, String, Boolean)
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
Extrahiert den Inhalt eines Datenstroms, der ein Tar-Archiv in das angegebene Verzeichnis darstellt.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)
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.
- 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.
Ausnahmen
source oder destinationDirectoryName ist null.
Der destinationDirectoryName Verzeichnispfad 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 -
destinationDirectoryName ist leer.
- oder -
source das Lesen wird nicht unterstützt.
Nur .NET 11 und höhere Versionen: Die Prüfsumme eines Eintrags ist ungültig.
Es ist eine E/A-Ausnahme aufgetreten.
Hinweise
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 beschränkt nicht die gesamt extrahierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, TarReaderund überprüfen Sie, ob die Größe und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(String, String, Boolean)
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
- Quelle:
- TarFile.cs
Extrahiert den Inhalt einer Tar-Datei in das angegebene Verzeichnis.
public:
static void ExtractToDirectory(System::String ^ sourceFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)
Parameter
- sourceFileName
- String
Der Pfad der zu extrahierenden Tar-Datei.
- destinationDirectoryName
- String
Der Pfad des Zielverzeichnisses, in dem die Dateisystemeinträge extrahiert werden sollen.
- 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.
Ausnahmen
sourceFileName oder destinationDirectoryName ist null.
Der destinationDirectoryName Verzeichnispfad wurde nicht gefunden.
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.
Nur .NET 11 und höhere Versionen: Die Prüfsumme eines Eintrags ist ungültig.
Es ist eine E/A-Ausnahme aufgetreten.
Hinweise
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 beschränkt nicht die gesamt extrahierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, TarReaderund überprüfen Sie, ob die Größe und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.