ZipFileExtensions.CreateEntryFromFile 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.
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)
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)
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.