ZipFile.Open 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.
Apre un archivio ZIP nel percorso specificato e nella modalità specificata.
Overload
| Nome | Descrizione |
|---|---|
| Open(String, ZipArchiveMode) |
Apre un archivio ZIP nel percorso specificato e nella modalità specificata. |
| Open(String, ZipArchiveMode, Encoding) |
Apre un archivio ZIP nel percorso specificato, nella modalità specificata e utilizzando la codifica dei caratteri specificata per i nomi e i commenti delle voci. |
Open(String, ZipArchiveMode)
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
Apre un archivio ZIP nel percorso specificato e nella modalità specificata.
public:
static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode);
static member Open : string * System.IO.Compression.ZipArchiveMode -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode) As ZipArchive
Parametri
- archiveFileName
- String
Percorso dell'archivio da aprire, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- mode
- ZipArchiveMode
Uno dei valori di enumerazione che specifica le azioni consentite nelle voci nell'archivio aperto.
Valori restituiti
Archivio ZIP aperto.
Eccezioni
archiveFileName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
archiveFileName è null.
In archiveFileNameil percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
archiveFileName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
archiveFileName non è stato possibile aprire.
oppure
mode è impostato su Create, ma il file specificato in archiveFileName esiste già.
oppure
Errore di I/O non specificato durante l'apertura del file.
archiveFileName specifica una directory.
oppure
Il chiamante non dispone dell'autorizzazione necessaria per accedere al file specificato in archiveFileName.
mode specifica un valore non valido.
mode è impostato su Read, ma il file specificato in archiveFileName non viene trovato.
archiveFileName contiene un formato non valido.
archiveFileName non può essere interpretato come archivio ZIP.
oppure
mode è Update, ma una voce è mancante o danneggiata e non può essere letta.
oppure
mode è Update, ma una voce è troppo grande per adattarsi alla memoria.
Esempio
Nell'esempio seguente viene illustrato come aprire un archivio ZIP in modalità di aggiornamento e aggiungere una voce all'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);
}
}
}
}
open System.IO.Compression
let zipPath = @"c:\users\exampleuser\start.zip"
let extractPath = @"c:\users\exampleuser\extract"
let newFile = @"c:\users\exampleuser\NewFile.txt"
do
use archive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
archive.CreateEntryFromFile(newFile, "NewEntry.txt") |> ignore
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
Quando si imposta il mode parametro su Read, l'archivio viene aperto con Open dall'enumerazione FileMode come valore della modalità file. Se l'archivio non esiste, viene generata un'eccezione FileNotFoundException . L'impostazione del mode parametro su Read equivale a chiamare il OpenRead metodo .
Quando si imposta il mode parametro su Create, l'archivio viene aperto con FileMode.CreateNew come valore della modalità file. Se l'archivio esiste già, viene generata un'eccezione IOException .
Quando si imposta il mode parametro su Update, l'archivio viene aperto con FileMode.OpenOrCreate come valore della modalità file. Se l'archivio esiste, viene aperto. È possibile modificare le voci esistenti e creare nuove voci. Se l'archivio non esiste, viene creato un nuovo archivio; tuttavia, la creazione di un archivio ZIP in Update modalità non è altrettanto efficiente come la creazione in Create modalità.
Si applica a
Open(String, ZipArchiveMode, Encoding)
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
- Origine:
- ZipFile.Create.cs
Apre un archivio ZIP nel percorso specificato, nella modalità specificata e utilizzando la codifica dei caratteri specificata per i nomi e i commenti delle voci.
public:
static System::IO::Compression::ZipArchive ^ Open(System::String ^ archiveFileName, System::IO::Compression::ZipArchiveMode mode, System::Text::Encoding ^ entryNameEncoding);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding entryNameEncoding);
public static System.IO.Compression.ZipArchive Open(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding);
static member Open : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding -> System.IO.Compression.ZipArchive
Public Shared Function Open (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding) As ZipArchive
Parametri
- archiveFileName
- String
Percorso dell'archivio da aprire, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- mode
- ZipArchiveMode
Uno dei valori di enumerazione che specifica le azioni consentite nelle voci nell'archivio aperto.
- 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.
Valori restituiti
Archivio ZIP aperto.
Eccezioni
archiveFileName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
oppure
entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.
archiveFileName è null.
In archiveFileNameil percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
archiveFileName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
archiveFileName non è stato possibile aprire.
oppure
mode è impostato su Create, ma il file specificato in archiveFileName esiste già.
oppure
Errore di I/O non specificato durante l'apertura del file.
archiveFileName specifica una directory.
oppure
Il chiamante non dispone dell'autorizzazione necessaria per accedere al file specificato in archiveFileName.
mode specifica un valore non valido.
mode è impostato su Read, ma il file specificato in archiveFileName non viene trovato.
archiveFileName contiene un formato non valido.
archiveFileName non può essere interpretato come archivio ZIP.
oppure
mode è Update, ma una voce è mancante o danneggiata e non può essere letta.
oppure
mode è Update, ma una voce è troppo grande per adattarsi alla memoria.
Commenti
Quando si imposta il mode parametro su Read, l'archivio viene aperto con FileMode.Open come valore della modalità file. Se l'archivio non esiste, viene generata un'eccezione FileNotFoundException . L'impostazione del mode parametro su Read equivale a chiamare il OpenRead metodo .
Quando si imposta il mode parametro su Create, l'archivio viene aperto con FileMode.CreateNew come valore della modalità file. Se l'archivio esiste già, viene generata un'eccezione IOException .
Quando si imposta il mode parametro su Update, l'archivio viene aperto con FileMode.OpenOrCreate come valore della modalità file. Se l'archivio esiste, viene aperto. È possibile modificare le voci esistenti e creare nuove voci. Se l'archivio non esiste, viene creato un nuovo archivio; tuttavia, la creazione di un archivio ZIP in Update modalità non è altrettanto efficiente come la creazione in Create modalità.
Quando si apre un file di archivio ZIP per la lettura e entryNameEncoding viene impostato su null, i nomi delle voci e i commenti vengono decodificati in base alle regole seguenti:
- Quando il flag di codifica della lingua (nel flag di bit generico dell'intestazione del file locale) non è impostato, la tabella codici predefinita del sistema corrente viene usata per decodificare il nome e il commento della voce.
- Quando viene impostato il flag di codifica della lingua, viene usato UTF-8 per decodificare il nome e il commento della voce.
Quando si apre un file di archivio ZIP per la lettura e entryNameEncoding viene impostato su un valore diverso nullda , i nomi delle voci e i commenti vengono decodificati in base alle regole seguenti:
- Quando il flag di codifica della lingua non è impostato, l'oggetto specificato
entryNameEncodingviene usato per decodificare il nome e il commento della voce. - Quando viene impostato il flag di codifica della lingua, viene usato UTF-8 per decodificare il nome e il commento della voce.
Quando si scrive nei file di archiviazione e entryNameEncoding viene impostato su null, i nomi delle voci e i commenti vengono codificati in base alle regole seguenti:
- Per i nomi di voce o i commenti che contengono caratteri esterni all'intervallo ASCII, viene impostato il flag di codifica della lingua e i nomi e i commenti delle voci vengono codificati tramite UTF-8.
- Per i nomi di voce o i commenti che contengono solo caratteri ASCII, il flag di codifica della lingua non è impostato e i nomi e i commenti delle voci vengono codificati usando la tabella codici predefinita del sistema corrente.
Quando si scrive nei file di archiviazione e entryNameEncoding viene impostato su un valore diverso da null, l'oggetto specificato entryNameEncoding viene usato per codificare i nomi di voce e i commenti in byte. Il flag di codifica della lingua (nel flag di bit generico dell'intestazione del file locale) viene impostato solo quando la codifica specificata è una codifica UTF-8.