ZipFileExtensions.CreateEntryFromFile Metod

Definition

Arkiverar en fil genom att komprimera den och lägga till den i zip-arkivet.

Överlagringar

Name Description
CreateEntryFromFile(ZipArchive, String, String)

Arkiverar en fil genom att komprimera den och lägga till den i zip-arkivet.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Arkiverar en fil genom att komprimera den med den angivna komprimeringsnivån och lägga till den i zip-arkivet.

CreateEntryFromFile(ZipArchive, String, String)

Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs

Arkiverar en fil genom att komprimera den och lägga till den i zip-arkivet.

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

Parametrar

destination
ZipArchive

Zip-arkivet som filen ska läggas till i.

sourceFileName
String

Sökvägen till filen som ska arkiveras. Du kan ange antingen en relativ eller en absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.

entryName
String

Namnet på posten som ska skapas i zip-arkivet.

Returer

En omslutning för den nya posten i zip-arkivet.

Undantag

sourceFileName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.

-eller-

entryName är Empty.

sourceFileName eller entryName är null.

I sourceFileNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.

sourceFileName är ogiltigt (till exempel är det på en ommappad enhet).

Filen som anges av sourceFileName kan inte öppnas eller är för stor för att uppdateras (den aktuella gränsen är Int32.MaxValue.

sourceFileName anger en katalog.

-eller-

Anroparen har inte den behörighet som krävs för att komma åt filen som anges av sourceFileName.

Filen som anges av sourceFileName hittades inte.

Parametern sourceFileName är i ett ogiltigt format.

-eller-

Zip-arkivet stöder inte skrivning.

Zip-arkivet har tagits bort.

Exempel

I följande exempel visas hur du skapar en ny post i ett zip-arkiv från en befintlig fil.

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

Kommentarer

Den nya posten i arkivet innehåller innehållet i filen som anges av sourceFileName. Om det redan finns en post med det angivna namnet (entryName) i arkivet skapas en andra post med ett identiskt namn. Egenskapen LastWriteTime för posten är inställd på den senaste gången filen i filsystemet ändrades.

När ZipArchiveMode.Update är närvarande är storleksgränsen för en post begränsad till Int32.MaxValue. Den här gränsen beror på att uppdateringsläget använder ett MemoryStream internt läge för att tillåta den sökning som krävs vid uppdatering av ett arkiv och MemoryStream har ett maximalt värde som är lika med storleken på en int.

Gäller för

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs
Källa:
ZipFileExtensions.ZipArchive.Create.cs

Arkiverar en fil genom att komprimera den med den angivna komprimeringsnivån och lägga till den i zip-arkivet.

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

Parametrar

destination
ZipArchive

Zip-arkivet som filen ska läggas till i.

sourceFileName
String

Sökvägen till filen som ska arkiveras. Du kan ange antingen en relativ eller en absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.

entryName
String

Namnet på posten som ska skapas i zip-arkivet.

compressionLevel
CompressionLevel

Ett av uppräkningsvärdena som anger om hastighets- eller komprimeringseffektivitet ska betonas när posten skapas.

Returer

En omslutning för den nya posten i zip-arkivet.

Undantag

sourceFileName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.

-eller-

entryName är Empty.

sourceFileName eller entryName är null.

sourceFileName är ogiltigt (till exempel är det på en ommappad enhet).

I sourceFileNameöverskrider den angivna sökvägen, filnamnet eller båda den systemdefinierade maximala längden.

Filen som anges av sourceFileName kan inte öppnas eller är för stor för att uppdateras (den aktuella gränsen är Int32.MaxValue.

sourceFileName anger en katalog.

-eller-

Anroparen har inte den behörighet som krävs för att komma åt filen som anges av sourceFileName.

Filen som anges av sourceFileName hittades inte.

Parametern sourceFileName är i ett ogiltigt format.

-eller-

Zip-arkivet stöder inte skrivning.

Zip-arkivet har tagits bort.

Exempel

I följande exempel visas hur du skapar en ny post i ett zip-arkiv från en befintlig fil och anger komprimeringsnivån.

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

Kommentarer

Den nya posten i arkivet innehåller innehållet i filen som anges av sourceFileName. Om det redan finns en post med det angivna namnet (entryName) i arkivet skapas en andra post med ett identiskt namn. Egenskapen LastWriteTime för posten är inställd på den senaste gången filen i filsystemet ändrades.

När ZipArchiveMode.Update är närvarande är storleksgränsen för en post begränsad till Int32.MaxValue. Den här gränsen beror på att uppdateringsläget använder ett MemoryStream internt läge för att tillåta den sökning som krävs vid uppdatering av ett arkiv och MemoryStream har ett maximalt värde som är lika med storleken på en int.

Gäller för