C#에서 폴더를 ZIP 압축하는 방법

C#에서 폴더를 ZIP 압축하는 방법

이 간단한 기사는 C#에서 폴더를 압축하는 방법을 설명합니다. 폴더와 그 내용을 위한 ZIP 파일을 만드는 데 도움이 되는 자세한 단계와 코드 샘플을 제공합니다. 이 솔루션은 타사 도구를 설치할 필요가 없습니다.

폴더 압축의 이점

  1. 공간 효율성:
    • 파일을 압축하여 저장 공간을 줄입니다.
  2. 조직적인 파일 관리:
    • 여러 파일을 단일 아카이브로 결합하여 배포 및 관리가 용이합니다.
  3. 빠른 전송:
    • 작은 파일 크기로 인해 업로드 및 다운로드 시간이 단축됩니다.

전제 조건: 환경 준비

  1. Visual Studio 또는 호환 가능한 .NET IDE를 설정합니다.
  2. NuGet 패키지 관리자를 통해 Aspose.ZIP 라이브러리를 설치합니다.

폴더를 ZIP으로 압축하는 단계별 가이드

단계 1: Aspose.ZIP 설치

프로젝트에 Aspose.ZIP 라이브러리를 추가합니다.

Install-Package Aspose.ZIP

단계 2: FileStream 객체 생성

출력 ZIP 파일을 위한 FileStream 객체를 인스턴스화합니다.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

단계 3: ZIP 아카이브 객체 생성

ZIP 작업을 처리하기 위해 Archive 클래스의 인스턴스를 생성합니다.

using (Archive archiveFile = new Archive())
{
    // 추가 처리는 여기에서 진행됩니다
}

단계 4: 아카이브에 항목 생성

대상 디렉터리의 모든 파일 및 폴더를 재귀적으로 추가합니다.

archiveFile.CreateEntries("AnimationImages");

단계 5: ZIP 파일 저장

항목이 생성되면 아카이브를 디스크에 저장합니다.

archiveFile.Save(zippedFolder);

폴더를 ZIP으로 압축하는 전체 코드 예제

다음은 폴더를 압축하는 방법을 보여주는 전체 C# 예제입니다:

// 출력 ZIP 파일을 위한 파일 스트림 객체 생성
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Zip 아카이브 파일 클래스 객체 생성
    using (Archive archiveFile = new Archive())
    {
        // 모든 파일과 폴더를 재귀적으로 추가
        archiveFile.CreateEntries("AnimationImages");

        // 출력 ZIP 파일 저장
        archiveFile.Save(zippedFolder);
    }
}

추가 정보

  • 출력 ZIP 파일의 파일 소스로 DirectoryInfo 클래스 객체를 제공할 수 있습니다.
  • 출력 ZIP에 루트 폴더를 포함할지 여부를 제어하는 플래그도 포함할 수 있습니다.

결론

이 튜토리얼은 C#에서 전체 폴더를 압축하는 과정을 안내했습니다. 몇 줄의 코드만으로 폴더 구조를 쉽게 관리하고 ZIP 아카이브를 효율적으로 생성할 수 있습니다. 추가 기능에 대해서는 ZIP 파일 추출 또는 다양한 유형의 아카이브 생성에 대한 튜토리얼을 확인하십시오.

 한국어