ZipArchive.CreateEntry Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает пустую запись в zip-архиве.
Перегрузки
| Имя | Описание |
|---|---|
| CreateEntry(String) |
Создает пустую запись с указанным путем и именем записи в zip-архиве. |
| CreateEntry(String, CompressionLevel) |
Создает пустую запись с указанным именем записи и уровнем сжатия в zip-архиве. |
CreateEntry(String)
- Исходный код:
- ZipArchive.cs
- Исходный код:
- ZipArchive.cs
- Исходный код:
- 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-архиве.
Исключения
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)
- Исходный код:
- ZipArchive.cs
- Исходный код:
- ZipArchive.cs
- Исходный код:
- 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-архиве.
Исключения
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 в том случае, если вы обеспокоены тем, что операция сжатия не завершится достаточно быстро для вашего сценария.