Create ZIP in C#

ZIP 아카이브 소개

**ZIP 아카이브**는 하나 이상의 파일이나 폴더를 단일 컨테이너로 압축하고 통합하는 데 필수적입니다. 이 형식은 저장 및 전송을 위한 파일 크기를 줄일 뿐만 아니라 메타데이터 정보를 유지하여 파일 관리가 용이합니다. ZIP 아카이브는 파일 업로드, 다운로드, 공유 및 암호화를 통한 보안 작업과 같은 작업을 위해 데스크톱 및 웹 애플리케이션에서 널리 사용됩니다.

이 기사에서는 C#에서 프로그래밍 방식으로 ZIP 아카이브를 생성하는 다양한 방법을 탐구합니다. 다음을 배우게 됩니다:

C# ZIP 라이브러리

Aspose.ZIP for .NET는 .NET 애플리케이션 내에서 파일과 폴더를 압축하고 압축 해제하기 위해 설계된 강력한 API입니다. 이 API는 ZIP 아카이브 내에서 파일을 보호하기 위한 AES 암호화와 같은 기능을 제공합니다. NuGet에서 API를 쉽게 설치하거나 Downloads 섹션에서 바이너리를 다운로드할 수 있습니다.

C#에서 ZIP 아카이브 생성

파일을 ZIP 아카이브로 압축하려면 다음 단계를 따르십시오:

  1. 출력 ZIP 아카이브를 위한 FileStream 객체를 생성합니다.
  2. FileStream 객체로 원본 파일을 엽니다.
  3. Archive 클래스를 인스턴스화합니다.
  4. Archive.CreateEntry(string, FileStream) 메서드를 사용하여 아카이브에 파일을 추가합니다.
  5. Archive.Save(FileStream) 메서드를 사용하여 ZIP 아카이브를 저장합니다.

다음은 C#를 사용하여 ZIP 아카이브에 파일을 추가하는 방법을 보여주는 코드 샘플입니다:

C#에서 ZIP 아카이브에 여러 파일 추가

ZIP 아카이브에 여러 파일을 추가하려면 다음 방법 중 하나를 선택할 수 있습니다:

FileStream 사용

AFileStream 클래스를 사용하여 Archive.CreateEntry(String, FileStream) 메서드로 ZIP 아카이브에 여러 파일을 추가합니다. 방법은 다음과 같습니다:

FileInfo 사용

또는 FileInfo 클래스를 사용하여 파일을 추가할 수 있습니다. 이 방법은 FileInfo 클래스를 사용하여 파일을 로드하고 Archive.CreateEntry(String, FileInfo) 메서드로 ZIP 아카이브에 추가합니다. 아래 예제를 참조하십시오:

파일 경로 사용

또한 Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) 메서드에 파일 경로를 제공하여 파일을 직접 추가할 수 있습니다. 방법은 다음과 같습니다:

C#에서 ZIP 아카이브에 폴더 추가

ZIP 아카이브에 폴더를 추가하는 것은 여러 파일을 포함하는 편리한 방법이 될 수 있습니다. C#에서 폴더를 ZIP 하려면 다음 단계를 따르십시오:

  1. 출력 ZIP 아카이브를 위한 FileStream 객체를 생성합니다.
  2. Archive 클래스를 인스턴스화합니다.
  3. DirectoryInfo 클래스를 사용하여 압축할 폴더를 지정합니다.
  4. Archive.CreateEntries(DirectoryInfo) 메서드를 사용하여 ZIP에 폴더를 추가합니다.
  5. Archive.Save(FileStream) 메서드를 사용하여 ZIP 아카이브를 저장합니다.

다음은 C#에서 ZIP 아카이브에 폴더를 추가하는 방법을 보여주는 코드 샘플입니다:

C#에서 ZipCrypto를 사용하여 암호로 보호된 ZIP 생성

보안을 강화하기 위해 ZipCrypto 암호화를 사용하여 암호로 보호된 ZIP 아카이브를 생성할 수 있습니다. 이는 ArchiveEntrySettings 클래스를 Archive의 생성자에서 사용하여 암호화 유형을 지정함으로써 이루어집니다.

다음은 C#에서 ZipCrypto를 사용하여 암호로 보호된 ZIP 아카이브를 생성하는 방법의 예입니다:

AES 암호화로 암호로 보호된 ZIP 생성

Aspose.ZIP for .NET 라이브러리는 ZIP 아카이브를 보호하기 위한 AES 암호화도 지원합니다. 다음 AES 암호화 방법 중에서 선택할 수 있습니다:

  • AES128
  • AES192
  • AES256

AES 암호화를 적용하려면 AesEcryptionSettings 클래스를 사용하십시오. 다음은 C#에서 AES 암호화로 암호로 보호된 ZIP을 생성하는 방법입니다:

병렬 압축 모드 설정

여러 항목이 포함된 경우 ParallelOptions 클래스를 사용하여 API를 병렬 압축에 맞게 구성할 수 있습니다. Aspose.ZIP for .NET은 여러 병렬 압축 모드를 제공합니다:

  • Never - 병렬로 압축하지 않음.
  • Always - 항상 병렬로 압축(메모리 부족 문제에 주의).
  • Auto - 항목에 따라 병렬 압축 사용 여부 자동 결정.

다음은 여러 파일을 ZIP 하면서 병렬 압축 모드를 설정하는 방법을 보여주는 예입니다:

C# .NET ZIP 라이브러리에 대해 더 알아보기

다음 리소스를 통해 C# ZIP API에 대해 더 깊이 알아보세요:

온라인에서 ZIP 아카이브 시도하기

Aspose.ZIP for .NET을 기반으로 한 무료 온라인 애플리케이션을 탐색하여 파일을 쉽게 ZIP 아카이브로 압축할 수 있습니다.

결론

이 기사에서는 C#에서 프로그래밍 방식으로 ZIP 아카이브를 생성하는 방법을 배웠습니다. 제공된 코드 샘플은 ZIP 아카이브에 파일과 폴더를 추가하는 방법을 보여줍니다. 또한 ZipCrypto 및 AES 암호화 방법을 사용하여 암호로 보호된 ZIP 아카이브를 생성하는 방법도 다루었습니다. 대용량 파일을 효율적으로 처리하기 위한 병렬 압축에 대해서도 논의했습니다. 질문이 있거나 추가 지원이 필요하면 포럼을 통해 문의해 주십시오.

참고 자료

C#를 사용하여 파일을 압축 해제하거나 추출하기C#를 사용하여 ZIP 아카이브의 파일 압축 해제하기C# .NET에서 7z (7-Zip) 아카이브 생성하기
C# .NET에서 7z (7zip) 파일 열기 또는 추출하기C#를 사용하여 GZip 아카이브 생성 및 추출하기C#에서 RAR 파일을 ZIP 아카이브로 변환하기
C#에서 ZIP 아카이브를 TAR로 변환하기C#에서 평면 ZIP 아카이브 생성하기C#에서 실행 가능한 자기 추출 아카이브 생성하기
C#에서 TAR.GZ 및 TAR.XZ 파일 생성하기C#에서 ZIP 아카이브의 파일 삭제하기C#에서 중첩 ZIP 아카이브 추출하기
C#에서 여러 ZIP 또는 TAR 아카이브 병합하기ZIP 파일 생성 방법온라인에서 7z 추출하기