ZipArchive.CreateEntry Metod

Definition

Skapar en tom post i zip-arkivet.

Överlagringar

Name Description
CreateEntry(String)

Skapar en tom post som har den angivna sökvägen och postnamnet i zip-arkivet.

CreateEntry(String, CompressionLevel)

Skapar en tom post som har det angivna postnamnet och komprimeringsnivån i zip-arkivet.

CreateEntry(String)

Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs

Skapar en tom post som har den angivna sökvägen och postnamnet i zip-arkivet.

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

Parametrar

entryName
String

En sökväg i förhållande till roten i arkivet som anger namnet på posten som ska skapas.

Returer

En tom post i zip-arkivet.

Undantag

entryName är Empty.

entryName är null.

Zip-arkivet stöder inte skrivning.

Zip-arkivet har tagits bort.

Exempel

I följande exempel visas hur du skapar en post och skriver till den med hjälp av en dataström.

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

Kommentarer

Strängen entryName bör återspegla den relativa sökvägen för den post som du vill skapa i zip-arkivet. Det finns ingen begränsning för strängen som du anger. Men om den inte är formaterad som en relativ sökväg skapas posten, men du kan få ett undantag när du extraherar innehållet i zip-arkivet. Om det redan finns en post med den angivna sökvägen och namnet i arkivet skapas en andra post med samma sökväg och namn.

Värdet för egenskapen LastWriteTime för den nya posten anges till aktuell tid. Posten komprimeras med standardkomprimeringsnivån för den underliggande komprimeringsalgoritmen. Om du vill ange en annan komprimeringsnivå använder du CreateEntry metoden.

Gäller för

CreateEntry(String, CompressionLevel)

Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs
Källa:
ZipArchive.cs

Skapar en tom post som har det angivna postnamnet och komprimeringsnivån i zip-arkivet.

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

Parametrar

entryName
String

En sökväg i förhållande till roten i arkivet som anger namnet på posten som ska skapas.

compressionLevel
CompressionLevel

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

Returer

En tom post i zip-arkivet.

Undantag

entryName är Empty.

entryName är null.

Zip-arkivet stöder inte skrivning.

Zip-arkivet har tagits bort.

Exempel

I följande exempel visas hur du skapar en post med den optimala komprimeringsnivån. Den skriver också till den nya posten med hjälp av en dataström.

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

Kommentarer

Strängen entryName bör återspegla den relativa sökvägen för den post som du vill skapa i zip-arkivet. Det finns ingen begränsning för strängen som du anger. Men om den inte är formaterad som en relativ sökväg skapas posten, men du kan få ett undantag när du extraherar innehållet i zip-arkivet. Om det redan finns en post med det angivna namnet i arkivet skapas en andra post med samma namn.

Värdet för egenskapen LastWriteTime för den nya posten anges till aktuell tid. Ange parametern compressionLevel till Optimal om du vill att filen ska komprimeras så mycket som möjligt. Ange parametern compressionLevel till Fastest endast om du är orolig för att komprimeringsåtgärden inte kommer att slutföras tillräckligt snabbt för ditt scenario.

Gäller för