ZipFile.CreateFromDirectory 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.
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata.
Overload
| Nome | Descrizione |
|---|---|
| CreateFromDirectory(String, String) |
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata. |
| CreateFromDirectory(String, String, CompressionLevel, Boolean) |
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata, usa il livello di compressione specificato e, facoltativamente, include la directory di base. |
| CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding) |
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata, usa il livello di compressione e la codifica dei caratteri specificati per i nomi e i commenti delle voci e, facoltativamente, include la directory di base. |
CreateFromDirectory(String, String)
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName);
static member CreateFromDirectory : string * string -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String)
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destinationArchiveFileName
- String
Percorso dell'archivio da creare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
Eccezioni
sourceDirectoryName o destinationArchiveFileName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
destinationArchiveFileName esiste già.
oppure
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName specifica una directory.
oppure
Il chiamante non dispone dell'autorizzazione necessaria per accedere alla directory specificata in sourceDirectoryName o al file specificato in destinationArchiveFileName.
sourceDirectoryName o destinationArchiveFileName contiene un formato non valido.
oppure
L'archivio ZIP non supporta la scrittura.
Esempio
Questo esempio illustra come creare ed estrarre un archivio ZIP usando la ZipFile classe . Comprime il contenuto di una cartella in un archivio ZIP e quindi estrae il contenuto in una nuova cartella. Per usare la ZipFile classe , è necessario fare riferimento all'assembly System.IO.Compression.FileSystem nel progetto.
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto. Questo overload del metodo non include la directory di base nell'archivio e non consente di specificare un livello di compressione. Se si desidera includere la directory di base o specificare un livello di compressione, chiamare l'overload del CreateFromDirectory(String, String, CompressionLevel, Boolean) metodo.
Se l'archivio esiste già, viene generata un'eccezione IOException . Se esiste già una voce con il nome specificato nell'archivio, viene creata una seconda voce con un nome identico.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Si applica a
CreateFromDirectory(String, String, CompressionLevel, Boolean)
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata, usa il livello di compressione specificato e, facoltativamente, include la directory di base.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean)
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destinationArchiveFileName
- String
Percorso dell'archivio da creare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che indica se evidenziare l'efficacia della velocità o della compressione durante la creazione della voce.
- includeBaseDirectory
- Boolean
true per includere il nome della directory dalla sourceDirectoryName radice dell'archivio; false per includere solo il contenuto della directory.
Eccezioni
sourceDirectoryName o destinationArchiveFileName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
destinationArchiveFileName esiste già.
oppure
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName specifica una directory.
oppure
Il chiamante non dispone dell'autorizzazione necessaria per accedere alla directory specificata in sourceDirectoryName o al file specificato in destinationArchiveFileName.
sourceDirectoryName o destinationArchiveFileName contiene un formato non valido.
oppure
L'archivio ZIP non supporta la scrittura.
Esempio
Questo esempio illustra come creare ed estrarre un archivio ZIP usando la ZipFile classe . Comprime il contenuto di una cartella in un archivio ZIP e quindi estrae il contenuto in una nuova cartella. Quando si comprime l'archivio, la directory di base viene inclusa e il livello di compressione viene impostato per evidenziare la velocità dell'operazione rispetto all'efficienza. Per usare la ZipFile classe , è necessario fare riferimento all'assembly System.IO.Compression.FileSystem nel progetto.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}
open System.IO.Compression
let startPath = @"c:\example\start"
let zipPath = @"c:\example\result.zip"
let extractPath = @"c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = "c:\example\start"
Dim zipPath As String = "c:\example\result.zip"
Dim extractPath As String = "c:\example\extract"
ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, True)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto. Utilizzare questo overload del metodo per specificare il livello di compressione e se includere la directory di base nell'archivio.
Se l'archivio esiste già, viene generata un'eccezione IOException . Se esiste già una voce con il nome specificato nell'archivio, viene creata una seconda voce con un nome identico.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Si applica a
CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)
Crea un archivio ZIP che contiene i file e le directory dalla directory specificata, usa il livello di compressione e la codifica dei caratteri specificati per i nomi e i commenti delle voci e, facoltativamente, include la directory di base.
public:
static void CreateFromDirectory(System::String ^ sourceDirectoryName, System::String ^ destinationArchiveFileName, System::IO::Compression::CompressionLevel compressionLevel, bool includeBaseDirectory, System::Text::Encoding ^ entryNameEncoding);
public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding entryNameEncoding);
static member CreateFromDirectory : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding -> unit
Public Shared Sub CreateFromDirectory (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding)
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destinationArchiveFileName
- String
Percorso dell'archivio da creare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che indica se evidenziare l'efficacia della velocità o della compressione durante la creazione della voce.
- includeBaseDirectory
- Boolean
true per includere il nome della directory dalla sourceDirectoryName radice dell'archivio; false per includere solo il contenuto della directory.
- entryNameEncoding
- Encoding
Codifica da utilizzare per la lettura o la scrittura di nomi e commenti di voci in questo archivio. Specificare un valore per questo parametro solo quando è necessaria una codifica per l'interoperabilità con gli strumenti e le librerie di archivio ZIP che non supportano la codifica UTF-8 per i nomi o i commenti delle voci.
Eccezioni
sourceDirectoryName o destinationArchiveFileName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
oppure
entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
destinationArchiveFileName esiste già.
oppure
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName specifica una directory.
oppure
Il chiamante non dispone dell'autorizzazione necessaria per accedere alla directory specificata in sourceDirectoryName o al file specificato in destinationArchiveFileName.
sourceDirectoryName o destinationArchiveFileName contiene un formato non valido.
oppure
L'archivio ZIP non supporta la scrittura.
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto. Utilizzare questo overload del metodo per specificare il livello di compressione e la codifica dei caratteri e se includere la directory di base nell'archivio.
Se l'archivio esiste già, viene generata un'eccezione IOException . Se esiste già una voce con il nome specificato nell'archivio, viene creata una seconda voce con un nome identico.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Se entryNameEncoding è impostato su un valore diverso da null, i nomi di voce e i commenti vengono codificati usando la codifica specificata. Se la codifica specificata è una codifica UTF-8, il flag di codifica della lingua (nel flag di bit generico dell'intestazione del file locale) viene impostato per ogni voce.
Se entryNameEncoding è impostato su null, i nomi e i commenti delle voci vengono codificati in base alle regole seguenti:
Per i nomi di voce e i commenti che contengono caratteri esterni all'intervallo ASCII, viene impostato il flag di codifica della lingua e viene usato UTF-8 per codificare il nome e il commento della voce.
Per i nomi di voce e i commenti che contengono solo caratteri ASCII, il flag di codifica della lingua non è impostato e la tabella codici predefinita del sistema corrente viene usata per codificare i nomi e i commenti delle voci.