다음을 통해 공유


ZipArchiveMode 열거형

정의

Zip 보관 파일 항목과 상호 작용하기 위한 값을 지정합니다.

public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode = 
Public Enum ZipArchiveMode
상속
ZipArchiveMode

필드

Create 1

새 보관 항목 만들기만 허용됩니다.

Read 0

보관 항목 읽기만 허용됩니다.

Update 2

보관 항목에 대해 읽기 및 쓰기 작업 모두가 허용됩니다.

설명

모드를 읽기로 설정하면 기본 파일 또는 스트림이 읽기를 지원해야 하지만 검색을 지원할 필요는 없습니다. 기본 파일 또는 스트림이 검색을 지원하는 경우 요청된 대로 파일을 보관 파일에서 읽습니다. 기본 파일 또는 스트림이 검색을 지원하지 않으면 전체 보관 파일이 메모리에 보관됩니다.

모드를 Create 설정하면 기본 파일 또는 스트림이 쓰기를 지원해야 하지만 검색을 지원할 필요는 없습니다. 아카이브의 각 항목은 쓰기를 위해 한 번만 열 수 있습니다. 단일 항목을 만드는 경우 데이터를 사용할 수 있는 즉시 기본 스트림 또는 파일에 기록됩니다. 메서드를 호출 CreateFromDirectory 하는 등 여러 항목을 만드는 경우 모든 항목을 만든 후 데이터가 기본 스트림 또는 파일에 기록됩니다.

모드를 업데이트로 설정하면 기본 파일 또는 스트림이 읽기, 쓰기 및 검색을 지원해야 합니다. 전체 보관 파일의 콘텐츠는 메모리에 저장되며 보관 파일이 삭제될 때까지 기본 파일 또는 스트림에 데이터가 기록되지 않습니다.

다음 메서드에는 보관 모드를 지정할 수 있는 라는 mode 매개 변수가 포함됩니다.

예제

다음 예제에서는 개체를 ZipArchiveMode 만들 때 값을 지정하는 ZipArchive 방법을 보여줍니다.

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("========================");
                    }
                }
            }
        }
    }
}
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

적용 대상