C#에서 폴더를 ZIP 압축하는 방법
C#에서 폴더를 ZIP 압축하는 방법
이 간단한 기사는 C#에서 폴더를 압축하는 방법을 설명합니다. 폴더와 그 내용을 위한 ZIP 파일을 만드는 데 도움이 되는 자세한 단계와 코드 샘플을 제공합니다. 이 솔루션은 타사 도구를 설치할 필요가 없습니다.
폴더 압축의 이점
- 공간 효율성:
- 파일을 압축하여 저장 공간을 줄입니다.
- 조직적인 파일 관리:
- 여러 파일을 단일 아카이브로 결합하여 배포 및 관리가 용이합니다.
- 빠른 전송:
- 작은 파일 크기로 인해 업로드 및 다운로드 시간이 단축됩니다.
전제 조건: 환경 준비
- Visual Studio 또는 호환 가능한 .NET IDE를 설정합니다.
- 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 파일 추출 또는 다양한 유형의 아카이브 생성에 대한 튜토리얼을 확인하십시오.