Condividi tramite


ZipArchiveMode Enumerazione

Definizione

Specifica i valori per l'interazione con le voci dell'archivio ZIP.

public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode = 
Public Enum ZipArchiveMode
Ereditarietà
ZipArchiveMode

Campi

Create 1

È consentita solo la creazione di nuove voci dell'archivio.

Read 0

È consentita solo la lettura delle voci dell'archivio.

Update 2

Sono consentite sia operazioni in lettura che in scrittura per le voci dell'archivio.

Commenti

Quando si imposta la modalità su Lettura, il file o il flusso sottostante deve supportare la lettura, ma non deve supportare la ricerca. Se il file o il flusso sottostante supporta la ricerca, i file vengono letti dall'archivio quando vengono richiesti. Se il file o il flusso sottostante non supporta la ricerca, l'intero archivio viene mantenuto in memoria.

Quando si imposta la modalità su Create, il file o il flusso sottostante deve supportare la scrittura, ma non deve supportare la ricerca. Ogni voce nell'archivio può essere aperta una sola volta per la scrittura. Se si crea una singola voce, i dati vengono scritti nel flusso o nel file sottostante non appena sono disponibili. Se si creano più voci, ad esempio chiamando il CreateFromDirectory metodo , i dati vengono scritti nel flusso o nel file sottostante dopo la creazione di tutte le voci.

Quando si imposta la modalità su Aggiorna, il file o il flusso sottostante deve supportare la lettura, la scrittura e la ricerca. Il contenuto dell'intero archivio viene mantenuto in memoria e non vengono scritti dati nel file o nel flusso sottostante finché l'archivio non viene eliminato.

I metodi seguenti includono un parametro denominato mode che consente di specificare la modalità di archiviazione:

Esempio

Nell'esempio seguente viene illustrato come specificare un ZipArchiveMode valore durante la creazione di un ZipArchive oggetto .

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

Si applica a