ZipFileExtensions.CreateEntryFromFile Methode

Definitie

Hiermee wordt een bestand gearchiveerd door het te comprimeren en toe te voegen aan het zip-archief.

Overloads

Name Description
CreateEntryFromFile(ZipArchive, String, String)

Hiermee wordt een bestand gearchiveerd door het te comprimeren en toe te voegen aan het zip-archief.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Hiermee wordt een bestand gearchiveerd door het te comprimeren met behulp van het opgegeven compressieniveau en het toe te voegen aan het zip-archief.

CreateEntryFromFile(ZipArchive, String, String)

Hiermee wordt een bestand gearchiveerd door het te comprimeren en toe te voegen aan het zip-archief.

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

Parameters

destination
ZipArchive

Het zip-archief waaraan u het bestand wilt toevoegen.

sourceFileName
String

Het pad naar het bestand dat moet worden gearchiveerd. U kunt een relatief of een absoluut pad opgeven. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap.

entryName
String

De naam van de vermelding die moet worden gemaakt in het zip-archief.

Retouren

Een wrapper voor de nieuwe vermelding in het zip-archief.

Uitzonderingen

sourceFileName is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.

– of –

entryName is Empty.

sourceFileName of entryName is null.

Het sourceFileNameopgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

sourceFileName is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Het bestand dat is opgegeven door sourceFileName kan niet worden geopend of is te groot om te worden bijgewerkt (huidige limiet is Int32.MaxValue.

sourceFileName hiermee geeft u een map.

– of –

De beller heeft niet de vereiste machtiging om toegang te krijgen tot het bestand dat is opgegeven door sourceFileName.

Het bestand dat is opgegeven door sourceFileName , is niet gevonden.

De sourceFileName parameter heeft een ongeldige indeling.

– of –

Het zip-archief biedt geen ondersteuning voor schrijven.

Het zip-archief is verwijderd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een nieuwe vermelding maakt in een zip-archief vanuit een bestaand bestand.

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

Opmerkingen

De nieuwe vermelding in het archief bevat de inhoud van het bestand dat is opgegeven door sourceFileName. Als er al een vermelding met de opgegeven naam (entryName) in het archief bestaat, wordt er een tweede vermelding gemaakt met een identieke naam. De LastWriteTime eigenschap van de vermelding is ingesteld op de laatste keer dat het bestand op het bestandssysteem is gewijzigd.

Wanneer ZipArchiveMode.Update aanwezig is, is de maximale grootte van een vermelding beperkt tot Int32.MaxValue. Deze limiet komt doordat de updatemodus intern wordt gebruikt MemoryStream om het zoeken dat vereist is bij het bijwerken van een archief toe te staan en MemoryStream een maximum heeft dat gelijk is aan de grootte van een int.

Van toepassing op

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Hiermee wordt een bestand gearchiveerd door het te comprimeren met behulp van het opgegeven compressieniveau en het toe te voegen aan het zip-archief.

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

Parameters

destination
ZipArchive

Het zip-archief waaraan u het bestand wilt toevoegen.

sourceFileName
String

Het pad naar het bestand dat moet worden gearchiveerd. U kunt een relatief of een absoluut pad opgeven. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap.

entryName
String

De naam van de vermelding die moet worden gemaakt in het zip-archief.

compressionLevel
CompressionLevel

Een van de opsommingswaarden die aangeeft of snelheid of compressieeffectiviteit moet worden benadrukt bij het maken van de vermelding.

Retouren

Een wrapper voor de nieuwe vermelding in het zip-archief.

Uitzonderingen

sourceFileName is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.

– of –

entryName is Empty.

sourceFileName of entryName is null.

sourceFileName is ongeldig (bijvoorbeeld op een niet-toegewezen station).

Het sourceFileNameopgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het bestand dat is opgegeven door sourceFileName kan niet worden geopend of is te groot om te worden bijgewerkt (huidige limiet is Int32.MaxValue.

sourceFileName hiermee geeft u een map.

– of –

De beller heeft niet de vereiste machtiging om toegang te krijgen tot het bestand dat is opgegeven door sourceFileName.

Het bestand dat is opgegeven door sourceFileName , is niet gevonden.

De sourceFileName parameter heeft een ongeldige indeling.

– of –

Het zip-archief biedt geen ondersteuning voor schrijven.

Het zip-archief is verwijderd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een nieuwe vermelding in een zip-archief maakt op basis van een bestaand bestand en hoe u het compressieniveau opgeeft.

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

Opmerkingen

De nieuwe vermelding in het archief bevat de inhoud van het bestand dat is opgegeven door sourceFileName. Als er al een vermelding met de opgegeven naam (entryName) in het archief bestaat, wordt er een tweede vermelding gemaakt met een identieke naam. De LastWriteTime eigenschap van de vermelding is ingesteld op de laatste keer dat het bestand op het bestandssysteem is gewijzigd.

Wanneer ZipArchiveMode.Update aanwezig is, is de maximale grootte van een vermelding beperkt tot Int32.MaxValue. Deze limiet komt doordat de updatemodus intern wordt gebruikt MemoryStream om het zoeken dat vereist is bij het bijwerken van een archief toe te staan en MemoryStream een maximum heeft dat gelijk is aan de grootte van een int.

Van toepassing op