ZipArchive.CreateEntry 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立 zip 封存中的空項目。
多載
CreateEntry(String) |
在 zip 封存中建立具有指定之路徑和項目名稱的空項目。 |
CreateEntry(String, CompressionLevel) |
在 zip 封存中建立具有指定之項目名稱和壓縮等級的空項目。 |
CreateEntry(String)
在 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 封存中的空項目。
例外狀況
entryName
為 Empty。
entryName
為 null
。
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)
在 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 封存中的空項目。
例外狀況
entryName
為 Empty。
entryName
為 null
。
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設定為 。