ZipFileExtensions.ExtractToDirectory Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
ExtractToDirectory(ZipArchive, String) |
Estrae tutti i file nell'archivio ZIP in una directory del file system. |
ExtractToDirectory(ZipArchive, String, Boolean) |
Estrae tutti i file nell'archivio in una directory nel file system. |
ExtractToDirectory(ZipArchive, String)
Estrae tutti i file nell'archivio ZIP in una directory del file system.
public:
[System::Runtime::CompilerServices::Extension]
static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String)
Parametri
- source
- ZipArchive
Archivio ZIP da cui estrarre i file.
- destinationDirectoryName
- String
Percorso della directory in cui inserire i file estratti. È possibile specificare un percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.
Eccezioni
destinationDirectoryName
è Empty, contiene solo spazi vuoti oppure contiene almeno un carattere non valido.
destinationDirectoryName
è null
.
La lunghezza del percorso specificata supera la lunghezza massima definita dal sistema.
Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.
Il nome di una voce nell'archivio è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
-oppure-
L'estrazione di una voce dall'archivio crea un file esterno alla directory specificata da destinationDirectoryName
. (Ad esempio, si potrebbe verificare se il nome dell'elemento contiene accessori della directory padre).
-oppure-
Due o più voci nell'archivio hanno lo stesso nome.
Il chiamante non ha l'autorizzazione richiesta per scrivere nella directory di destinazione.
destinationDirectoryName
o contiene un formato non valido.
È impossibile trovare una voce dell'archivio o la voce è danneggiata.
-oppure-
Una voce dell'archivio è stata compressa con un metodo di compressione non supportato.
Esempio
Nell'esempio seguente viene illustrato come creare una nuova voce in un archivio zip da un file esistente ed estrarre l'archivio in una nuova directory.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\users\exampleuser\start.zip";
string extractPath = @"c:\users\exampleuser\extract";
string newFile = @"c:\users\exampleuser\NewFile.txt";
using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
{
archive.CreateEntryFromFile(newFile, "NewEntry.txt");
archive.ExtractToDirectory(extractPath);
}
}
}
}
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim zipPath As String = "c:\users\exampleuser\end.zip"
Dim extractPath As String = "c:\users\exampleuser\extract"
Dim newFile As String = "c:\users\exampleuser\NewFile.txt"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
archive.ExtractToDirectory(extractPath)
End Using
End Sub
End Module
Commenti
Questo metodo crea la directory specificata da destinationDirectoryName
. Il metodo crea anche sottodirectory che riflettono la gerarchia nell'archivio zip. Se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata dalla destinationDirectoryName
relativa voce di origine deve corrispondere alla radice dell'archivio.
Si applica a
ExtractToDirectory(ZipArchive, String, Boolean)
Estrae tutti i file nell'archivio in una directory nel file system.
public:
[System::Runtime::CompilerServices::Extension]
static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * bool -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean)
Parametri
- source
- ZipArchive
ZipArchive da estrarre.
- destinationDirectoryName
- String
Percorso della directory di destinazione nel file system. Il percorso può essere relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.
- overwriteFiles
- Boolean
true
per sovrascrivere i file esistenti; false
Altrimenti.
Eccezioni
destinationArchiveFileName
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.
destinationArchiveFileName
è null
.
Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.
Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.
Il nome di un ZipArchiveEntry è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.
-oppure-
L'estrazione di ZipArchiveEntry potrebbe avere generato un file di destinazione esterno a destinationArchiveFileName
, ad esempio se il nome della voce contiene funzioni di accesso della directory padre.
-oppure-
Un ZipArchiveEntry ha lo stesso nome di una voce già estratta dallo stesso archivio.
Il chiamante non dispone dell'autorizzazione richiesta.
Il formato di destinationArchiveFileName
non è valido.
Impossibile trovare un ZipArchiveEntry o la voce trovata è danneggiata.
-oppure-
Un ZipArchiveEntry è stato compresso con un metodo di compressione non supportato.
Commenti
La directory specificata può già esistere. Questo metodo crea la directory specificata e tutte le sottodirectory, se necessario.
Se si verifica un errore durante l'estrazione dell'archivio, l'archivio rimarrà parzialmente estratto.
Ogni voce viene estratta in modo che il file estratto abbia lo stesso percorso relativo della destinationDirectoryName
voce deve essere alla radice dell'archivio.
Se un file da archiviare ha un'ora di ultima modifica non valida, viene usata la prima data e l'ora rappresentabili nel formato timestamp Zip (mezzanotte il 1° gennaio 1980).