ZipArchive.CreateEntry 方法

定義

建立 zip 封存中的空項目。

多載

CreateEntry(String)

在 zip 封存中建立具有指定之路徑和項目名稱的空項目。

CreateEntry(String, CompressionLevel)

在 zip 封存中建立具有指定之項目名稱和壓縮等級的空項目。

CreateEntry(String)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

在 zip 封存中建立具有指定之路徑和項目名稱的空項目。

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

參數

entryName
String

指定要建立之項目的名稱的路徑 (相對於封存的根目錄)。

傳回

Zip 封存中的空項目。

例外狀況

entryNameEmpty

entryNamenull

Zip 封存不支援寫入。

Zip 封存已經處置。

範例

下列範例示範如何使用數據流來建立專案並寫入該專案。

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

備註

字串 entryName 應該反映您想要在 zip 封存內建立之項目的相對路徑。 您提供的字串沒有限制。 不過,如果未將它格式化為相對路徑,則會建立專案,但當您擷取 zip 封存的內容時,可能會發生例外狀況。 如果具有指定路徑和名稱的專案已存在於封存中,則會使用相同的路徑和名稱建立第二個專案。

LastWriteTime新項目的 屬性值會設定為目前時間。 專案會使用基礎壓縮演算法的默認壓縮層級進行壓縮。 如果您想要指定不同的壓縮層級,請使用 CreateEntry 方法。

適用於

CreateEntry(String, CompressionLevel)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

在 zip 封存中建立具有指定之項目名稱和壓縮等級的空項目。

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

參數

entryName
String

指定要建立之項目的名稱的路徑 (相對於封存的根目錄)。

compressionLevel
CompressionLevel

其中一個列舉值,指出當建立項目時是否要強調速度或壓縮的效益。

傳回

Zip 封存中的空項目。

例外狀況

entryNameEmpty

entryNamenull

Zip 封存不支援寫入。

Zip 封存已經處置。

範例

下列範例示範如何建立具有最佳壓縮層級的專案。 它也會使用數據流寫入新專案。

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

備註

字串 entryName 應該反映您想要在 zip 封存內建立之項目的相對路徑。 您提供的字串沒有限制。 不過,如果未將它格式化為相對路徑,則會建立專案,但當您擷取 zip 封存的內容時,可能會發生例外狀況。 如果具有指定名稱的專案已存在於封存中,則會使用相同的名稱建立第二個專案。

LastWriteTime新項目的 屬性值會設定為目前時間。 compressionLevel如果您要盡可能壓縮檔案,請將 參數Optimal設定為 。 compressionLevel只有在您擔心壓縮作業無法快速完成案例時,才將 參數Fastest設定為 。

適用於