C#에서 ZIP 생성하기

C#에서 ZIP 아카이브 소개

ZIP 아카이브는 파일과 폴더를 단일 관리 가능한 컨테이너로 압축하고 정리하는 데 필수적입니다. 파일 크기를 줄여 효율적인 저장 및 전송을 가능하게 할 뿐만 아니라 메타데이터를 보존하고 추가 보안을 위해 암호화할 수 있습니다. 이 기사에서는 C#에서 ZIP 파일을 프로그래밍 방식으로 생성하는 다양한 방법을 탐구하며, 파일과 폴더를 추가하고, 비밀번호로 보호된 아카이브를 생성하고, AES 암호화를 적용하는 방법을 포함합니다.

배울 내용

이 기사에서는 다음과 같은 내용을 배우게 됩니다:

C# ZIP 라이브러리

Aspose.ZIP for .NET 라이브러리는 .NET 애플리케이션 내에서 ZIP 파일 작업을 처리하기 위한 강력한 도구로, 파일과 폴더를 압축하거나 압축 해제하는 과정을 쉽게 만들어줍니다. 또한 보안을 강화하기 위해 AES 암호화도 지원합니다. 이 라이브러리는 **NuGet**에서 쉽게 설치하거나 Downloads 섹션에서 바이너리를 다운로드할 수 있습니다.

C#에서 ZIP 아카이브 생성하기

C#에서 ZIP 파일을 프로그래밍 방식으로 생성하기 위해 다음 단계를 따르세요:

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

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

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

ZIP 아카이브에 여러 파일을 추가해야 할 때 취할 수 있는 여러 접근 방식이 있습니다:

FileStream을 사용하여 여러 파일 추가하기

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

여러 파일에 대한 FileInfo 사용하기

또는 FileInfo 클래스를 사용하여 파일을 로드하고 Archive.CreateEntry(String, FileInfo) 메서드로 ZIP 아카이브에 추가할 수 있습니다. 아래는 코드 샘플입니다:

파일 경로 사용하기

Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) 메서드에 파일 경로를 직접 제공할 수도 있습니다. 예제는 다음과 같습니다:

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

C#에서 ZIP 아카이브에 폴더를 추가하기 위해 다음 단계를 따르세요:

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

다음은 ZIP 파일에 폴더를 추가하는 방법을 보여주는 코드 샘플입니다:

C#에서 ZipCrypto를 사용하여 비밀번호로 보호된 ZIP 생성하기

ZIP 아카이브를 보호하기 위해 ZipCrypto 암호화를 사용하여 비밀번호 보호를 적용할 수 있습니다. 이는 ArchiveEntrySettings 클래스를 Archive의 생성자에서 사용하여 암호화 유형을 매개변수로 전달함으로써 수행됩니다.

C#에서 ZipCrypto를 사용하여 비밀번호로 보호된 ZIP 아카이브를 생성하는 방법은 다음과 같습니다:

AES 암호화로 비밀번호 보호된 ZIP 생성하기

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

  • AES128
  • AES192
  • AES256

AES 암호화를 적용하려면 AesEcryptionSettings 클래스를 사용합니다. 아래는 C#에서 AES 암호화로 비밀번호 보호된 ZIP을 생성하는 방법을 보여주는 코드 샘플입니다:

병렬 압축 모드 설정하기

여러 항목을 효율적으로 처리하기 위해 ParallelOptions 클래스를 사용하여 API를 병렬 압축을 위해 구성할 수 있습니다. 사용 가능한 병렬 압축 모드는 다음과 같습니다:

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

Aspose C# ZIP 라이브러리로 여러 파일을 압축할 때 병렬 압축 모드를 설정하는 방법은 다음과 같습니다:

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

C# ZIP 라이브러리에 대한 이해를 깊이기 위해 다음 리소스를 탐색하세요:

온라인 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 온라인으로 추출하기