Condividi tramite


ZipFileExtensions.CreateEntryFromFile Metodo

Definizione

Archivia un file comprimendolo e aggiungendolo all'archivio ZIP.

Overload

CreateEntryFromFile(ZipArchive, String, String)

Archivia un file comprimendolo e aggiungendolo all'archivio ZIP.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archivia un file comprimendolo con il livello di compressione specificato e aggiungendolo all'archivio ZIP.

CreateEntryFromFile(ZipArchive, String, String)

Origine:
ZipFileExtensions.ZipArchive.Create.cs
Origine:
ZipFileExtensions.ZipArchive.Create.cs
Origine:
ZipFileExtensions.ZipArchive.Create.cs

Archivia un file comprimendolo e aggiungendolo all'archivio ZIP.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Parametri

destination
ZipArchive

Archivio ZIP a cui aggiungere il file.

sourceFileName
String

Percorso del file da archiviare. È possibile specificare un percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

entryName
String

Nome della voce da creare nell'archivio ZIP.

Restituisce

Wrapper per la nuova voce nell'archivio ZIP.

Eccezioni

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

-oppure-

entryName è Empty.

sourceFileName o entryName è null.

In sourceFileName, il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.

sourceFileName non è valido (ad esempio si trova in un'unità non mappata).

Il file specificato da sourceFileName non può essere aperto o è troppo grande da aggiornare (il limite corrente è Int32.MaxValue).

sourceFileName specifica una directory.

-oppure-

Il chiamante non dispone dell'autorizzazione richiesta per accedere al file specificato da sourceFileName.

Il file specificato da sourceFileName non è stato trovato.

Il formato del parametro sourceFileName non è valido.

-oppure-

L'archivio ZIP non supporta la scrittura.

L'archivio ZIP è stato eliminato.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova voce in un archivio zip da un file esistente.

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

La nuova voce nell'archivio contiene il contenuto del file specificato da sourceFileName. Se esiste già una voce con il nome specificato (entryName) nell'archivio, viene creata una seconda voce con un nome identico. La LastWriteTime proprietà della voce è impostata sull'ultima volta che il file nel file system è stato modificato.

Quando ZipArchiveMode.Update è presente, il limite di dimensioni di una voce è limitato a Int32.MaxValue. Questo limite è dovuto al fatto che la modalità di aggiornamento usa MemoryStream internamente per consentire la ricerca necessaria durante l'aggiornamento di un archivio e MemoryStream ha un massimo uguale alle dimensioni di un int.

Si applica a

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Origine:
ZipFileExtensions.ZipArchive.Create.cs
Origine:
ZipFileExtensions.ZipArchive.Create.cs
Origine:
ZipFileExtensions.ZipArchive.Create.cs

Archivia un file comprimendolo con il livello di compressione specificato e aggiungendolo all'archivio ZIP.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parametri

destination
ZipArchive

Archivio ZIP a cui aggiungere il file.

sourceFileName
String

Percorso del file da archiviare. È possibile specificare un percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

entryName
String

Nome della voce da creare nell'archivio ZIP.

compressionLevel
CompressionLevel

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

Restituisce

Wrapper per la nuova voce nell'archivio ZIP.

Eccezioni

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

-oppure-

entryName è Empty.

sourceFileName o entryName è null.

sourceFileName non è valido (ad esempio si trova in un'unità non mappata).

In sourceFileName, il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.

Il file specificato da sourceFileName non può essere aperto o è troppo grande da aggiornare (il limite corrente è Int32.MaxValue).

sourceFileName specifica una directory.

-oppure-

Il chiamante non dispone dell'autorizzazione richiesta per accedere al file specificato da sourceFileName.

Il file specificato da sourceFileName non è stato trovato.

Il formato del parametro sourceFileName non è valido.

-oppure-

L'archivio ZIP non supporta la scrittura.

L'archivio ZIP è stato eliminato.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova voce in un archivio zip da un file esistente e specificare il livello di compressione.

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", CompressionLevel.Fastest);
                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

La nuova voce nell'archivio contiene il contenuto del file specificato da sourceFileName. Se esiste già una voce con il nome specificato (entryName) nell'archivio, viene creata una seconda voce con un nome identico. La LastWriteTime proprietà della voce è impostata sull'ultima volta che il file nel file system è stato modificato.

Quando ZipArchiveMode.Update è presente, il limite di dimensioni di una voce è limitato a Int32.MaxValue. Questo limite è dovuto al fatto che la modalità di aggiornamento usa MemoryStream internamente per consentire la ricerca necessaria durante l'aggiornamento di un archivio e MemoryStream ha un massimo uguale alle dimensioni di un int.

Si applica a