Condividi tramite


ZipArchive.CreateEntry Metodo

Definizione

Crea una voce vuota nell'archivio ZIP.

Overload

CreateEntry(String)

Crea una voce vuota con il percorso e il nome della voce specificati nell'archivio ZIP.

CreateEntry(String, CompressionLevel)

Crea una voce vuota con il livello di compressione e il nome voce specificati nell'archivio ZIP.

CreateEntry(String)

Origine:
ZipArchive.cs
Origine:
ZipArchive.cs
Origine:
ZipArchive.cs

Crea una voce vuota con il percorso e il nome della voce specificati nell'archivio ZIP.

public:
 System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName);
member this.CreateEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String) As ZipArchiveEntry

Parametri

entryName
String

Percorso, relativo alla radice dell'archivio, che specifica il nome della voce da creare.

Restituisce

Voce vuota nell'archivio ZIP.

Eccezioni

entryName è Empty.

entryName è null.

L'archivio ZIP non supporta la scrittura.

L'archivio ZIP è stato eliminato.

Esempio

Nell'esempio seguente viene illustrato come creare una voce e scriverla usando un flusso.

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("========================");
                    }
                }
            }
        }
    }
}
open System.IO
open System.IO.Compression

do
    use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)

    use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)

    let readmeEntry = archive.CreateEntry "Readme.txt"
    use 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

Commenti

La entryName stringa deve riflettere il percorso relativo della voce che si vuole creare all'interno dell'archivio zip. Non esiste alcuna restrizione sulla stringa specificata. Tuttavia, se non viene formattato come percorso relativo, la voce viene creata, ma è possibile ottenere un'eccezione quando si estrae il contenuto dell'archivio zip. Se esiste già una voce con il percorso e il nome specificati nell'archivio, viene creata una seconda voce con lo stesso percorso e nome.

Il valore della LastWriteTime proprietà per la nuova voce è impostato sull'ora corrente. La voce viene compressa usando il livello di compressione predefinito dell'algoritmo di compressione sottostante. Se si vuole specificare un livello di compressione diverso, usare il CreateEntry metodo .

Si applica a

CreateEntry(String, CompressionLevel)

Origine:
ZipArchive.cs
Origine:
ZipArchive.cs
Origine:
ZipArchive.cs

Crea una voce vuota con il livello di compressione e il nome voce specificati nell'archivio ZIP.

public:
 System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);
member this.CreateEntry : string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parametri

entryName
String

Percorso, relativo alla radice dell'archivio, che specifica il nome della voce da creare.

compressionLevel
CompressionLevel

Uno dei valori di enumerazione che indica se evidenziare l'efficacia di velocità o compressione quando si crea la voce.

Restituisce

Voce vuota nell'archivio ZIP.

Eccezioni

entryName è Empty.

entryName è null.

L'archivio ZIP non supporta la scrittura.

L'archivio ZIP è stato eliminato.

Esempio

Nell'esempio seguente viene illustrato come creare una voce con il livello di compressione ottimale. Scrive anche nella nuova voce usando un flusso.

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", CompressionLevel.Optimal);
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
open System.IO
open System.IO.Compression

do
    use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)

    use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)

    let readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
    use 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", CompressionLevel.Optimal)
                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

Commenti

La entryName stringa deve riflettere il percorso relativo della voce che si vuole creare all'interno dell'archivio zip. Non esiste alcuna restrizione sulla stringa specificata. Tuttavia, se non viene formattato come percorso relativo, la voce viene creata, ma è possibile ottenere un'eccezione quando si estrae il contenuto dell'archivio zip. Se esiste già una voce con il nome specificato nell'archivio, viene creata una seconda voce con lo stesso nome.

Il valore della LastWriteTime proprietà per la nuova voce è impostato sull'ora corrente. Impostare il compressionLevel parametro su Optimal se si vuole che il file venga compresso il più possibile. Impostare il parametro su Fastest solo se si è preoccupati che l'operazione compressionLevel di compressione non venga completata abbastanza rapidamente per lo scenario.

Si applica a