C#에서 ZIP 아카이브 소개
ZIP 아카이브는 파일과 폴더를 단일 컨테이너로 압축하고 정리하는 데 필수적입니다. 파일 크기를 줄여 효율적인 저장 및 전송을 가능하게 할 뿐만 아니라 메타데이터를 유지하고 보안 목적으로 암호화할 수 있습니다. 이 문서에서는 C#에서 ZIP 파일을 프로그래밍 방식으로 생성하는 다양한 방법을 안내하며, 파일과 폴더 추가, 비밀번호 보호 아카이브 생성, AES 암호화 적용과 같은 작업을 다룹니다.
배울 내용
이 문서에서는 다음과 같은 내용을 다룹니다:
- C#에서 ZIP 아카이브 생성
- ZIP 아카이브에 여러 파일 추가
- ZIP 아카이브에 폴더 추가
- ZipCrypto를 사용하여 비밀번호 보호 ZIP 아카이브 생성
- AES 암호화로 ZIP 아카이브 암호화
- 병렬 압축 모드 설정
C# ZIP 라이브러리
Aspose.ZIP for .NET 라이브러리는 .NET 애플리케이션 내에서 ZIP 파일 작업을 처리하는 강력한 도구입니다. 파일과 폴더를 압축하거나 압축 해제하는 과정을 단순화하며, 보안을 강화하기 위해 AES 암호화를 지원합니다. 이 라이브러리는 **NuGet**에서 쉽게 설치하거나 Downloads 섹션에서 바이너리를 다운로드할 수 있습니다.
C#에서 ZIP 아카이브 생성
C#에서 ZIP 파일을 프로그래밍 방식으로 생성하려면 다음 단계를 따르십시오:
- 출력 ZIP 아카이브를 위한 FileStream 객체를 생성합니다.
- 소스 파일을 FileStream 객체로 엽니다.
- Archive 클래스를 인스턴스화합니다.
- Archive.CreateEntry(string, FileStream) 메서드를 사용하여 파일을 아카이브에 추가합니다.
- 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 아카이브에 폴더를 추가하려면 다음 단계를 따르십시오:
- 출력 ZIP 아카이브를 위한 FileStream 객체를 생성합니다.
- Archive 클래스를 인스턴스화합니다.
- DirectoryInfo 클래스를 사용하여 압축할 폴더를 지정합니다.
- Archive.CreateEntries(DirectoryInfo) 메서드를 사용하여 ZIP에 폴더를 추가합니다.
- 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 파일을 생성하며, 병렬 압축을 구성하는 방법을 보여줍니다. 질문이 있거나 추가 지원이 필요하시면 **포럼**을 통해 문의해 주십시오.