다음을 통해 공유


ZipArchive.CreateEntry 메서드

정의

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 대해 충분히 빠르게 완료되지 않을 것으로 우려되는 경우에만 매개 변수를 로 설정합니다.

적용 대상