Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ZipFile.Open (String, ZipArchiveMode)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Apre un archivio ZIP in corrispondenza del percorso specificato e nella modalità specificata.

Spazio dei nomi:   System.IO.Compression
Assembly:  System.IO.Compression.FileSystem (in System.IO.Compression.FileSystem.dll)

public static ZipArchive Open(
	string archiveFileName,
	ZipArchiveMode mode
)

Parametri

archiveFileName
Type: System.String

Percorso dell'archivio da aprire, specificato come percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

mode
Type: System.IO.Compression.ZipArchiveMode

Uno dei valori di enumerazione che specifica le azioni consentite sulle voci nell'archivio aperto.

Valore restituito

Type: System.IO.Compression.ZipArchive

Archivio ZIP aperto.

Exception Condition
ArgumentException

archiveFileName è Empty, contiene solo spazi vuoti oppure contiene almeno un carattere non valido.

ArgumentNullException

archiveFileName è null.

PathTooLongException

In archiveFileName, il percorso specificato, il nome di file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, nelle piattaforme basate su Windows i percorsi non devono superare 248 caratteri e i nomi file non possono essere composti da più di 260 caratteri.

DirectoryNotFoundException

archiveFileName non è valido o non esiste (ad esempio, è un'unità non assegnata).

IOException

archiveFileName non può essere aperto.

-oppure-

mode è impostato su Create, ma il file specificato archiveFileName esiste già.

UnauthorizedAccessException

archiveFileName specifica una directory.

-oppure-

Il chiamante non dispone delle autorizzazioni necessarie per accedere al file specificato archiveFileName.

ArgumentOutOfRangeException

mode Specifica un valore non valido.

FileNotFoundException

mode è impostato su Read, ma il file specificato archiveFileName non viene trovato.

NotSupportedException

archiveFileName contiene un formato non valido.

InvalidDataException

archiveFileName potrebbe non essere interpretata come un archivio zip.

-oppure-

mode è Update, ma una voce è mancante o danneggiato e non può essere letto.

-oppure-

mode è Update, ma una voce è troppo grande per essere contenuto in memoria.

Quando si imposta la mode parametro Read, l'archivio viene aperto con Open dal FileMode enumerazione come il valore della modalità file. Se l'archivio non esiste, un FileNotFoundException viene generata un'eccezione. L'impostazione di mode parametro Read è equivalente alla chiamata il OpenRead (metodo).

Quando si imposta la mode parametro Create, l'archivio viene aperto con FileMode.CreateNew come il valore della modalità file. Se l'archivio esiste già, un IOException viene generata un'eccezione.

Quando si imposta la mode parametro Update, l'archivio viene aperto con FileMode.OpenOrCreate come il valore della modalità file. Se esiste, l'archivio viene aperto. Le voci esistenti possono essere modificate e creare nuove voci. Se l'archivio non esiste, verrà creato un nuovo archivio. Tuttavia, la creazione di un archivio zip in Update non è efficiente come crearlo in modalità Create modalità.

Nell'esempio seguente viene illustrato come aprire un archivio zip in modalità di aggiornamento e aggiungere una voce nell'archivio.

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);
            } 
        }
    }
}

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 4.5
Torna all'inizio
Mostra: