ZipArchive.CreateEntry 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 zip 存档中创建空项。
重载
CreateEntry(String) |
创建在 zip 存档中有指定路径和项名的空项。 |
CreateEntry(String, CompressionLevel) |
创建在 zip 存档中有指定项名和压缩级别的空项。 |
CreateEntry(String)
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
- Source:
- 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 存档中的空项。
例外
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)
- Source:
- ZipArchive.cs
- Source:
- ZipArchive.cs
- Source:
- 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 存档中的空项。
例外
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设置为 。