C#에서 7Zip 아카이브 생성

이전 게시물에서는 C#을 사용하여 ZIP 아카이브를 생성하는 다양한 방법을 살펴보았습니다. 이 글에서는 오픈 소스 아키텍처를 기반으로 하며 높은 압축 비율을 제공하는 7z 형식에 대해 중점적으로 다루겠습니다. 특히, 7z는 256비트 AES 암호화를 지원하여 파일뿐만 아니라 파일 이름도 보호할 수 있습니다.

이 가이드에서는 C#을 사용하여 7z (7-Zip) 아카이브를 프로그래밍적으로 생성하는 방법을 배웁니다. 다음 내용을 다룰 것입니다:

모든 예제와 코드 스니펫은 Aspose.ZIP for .NET API를 기반으로 합니다. 다음 방법 중 하나를 사용하여 API를 설치했는지 확인하십시오:

C#을 사용하여 7z (7-Zip) 아카이브 생성

단일 파일 또는 여러 파일을 처리할 때 7z 아카이브로 파일을 압축할 수 있는 두 가지 주요 시나리오가 있습니다. 두 가지 상황을 처리하는 방법은 다음과 같습니다.

단일 항목으로 7z 아카이브 생성

단일 파일로 7z 아카이브를 생성하려면 다음 단계를 따르십시오:

  1. 7z 파일을 생성하기 위해 새 FileStream을 엽니다.
  2. SevenZipArchive 클래스의 인스턴스를 생성합니다.
  3. SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings) 메서드를 사용하여 파일을 아카이브에 추가합니다.
  4. SevenZipArchive.Save(Stream) 메서드를 사용하여 아카이브를 저장합니다.

다음은 위 단계를 보여주는 C# 7z 아카이브 예제입니다:

여러 항목으로 7z 아카이브 생성

여러 파일을 압축해야 하는 경우, 파일을 폴더에 배치하고 폴더의 경로를 SevenZipArchive.CreateEntries() 메서드에 전달할 수 있습니다. 다음 단계를 따르십시오:

  1. SevenZipArchive 클래스의 인스턴스를 생성합니다.
  2. 폴더의 경로를 SevenZipArchive.CreateEntries(String, Boolean) 메서드에 전달합니다.
  3. SevenZipArchive.Save(String) 메서드를 호출합니다.

다음은 C#을 사용하여 여러 항목으로 7z 아카이브를 생성하는 방법입니다:

C#을 사용하여 AES 암호화된 7z 아카이브 생성

7z 형식은 보안을 강화하기 위해 AES 암호화를 지원합니다. 7z 파일을 암호화하려면 SevenZipAESEncryptionSettings 클래스를 사용하십시오. 다음은 C#을 사용하여 AES 암호화된 7z 아카이브를 생성하는 방법을 보여주는 코드 샘플입니다:

C#을 사용하여 7z 항목에 대해 서로 다른 비밀번호 설정

7z 형식은 각 파일 항목에 대해 고유한 비밀번호를 지정할 수 있습니다. 여러 파일을 압축하는 경우 각 파일에 대해 서로 다른 비밀번호를 지정할 수 있습니다. 방법은 다음과 같습니다:

  1. 7z 아카이브 파일을 위한 새 FileStream을 생성합니다.
  2. FileInfo 클래스를 사용하여 각 파일 항목에 접근합니다.
  3. SevenZipArchive 클래스의 인스턴스를 생성합니다.
  4. SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings) 메서드를 사용하여 7z 아카이브에 항목을 추가합니다.
  5. SevenZipArchive.Save(Stream) 메서드를 사용하여 아카이브를 저장합니다.

7z 아카이브의 각 항목에 대해 서로 다른 비밀번호를 설정하는 방법을 보여주는 코드 샘플은 다음과 같습니다:

결론

이 기사에서는 C#을 사용하여 7z 아카이브를 프로그래밍적으로 생성하는 방법을 다루었습니다. 또한 보안을 강화하기 위해 AES 암호화를 구현하는 방법과 각 파일 항목에 대해 고유한 비밀번호를 설정하는 방법도 살펴보았습니다. 파일 압축 및 압축 해제에 대한 추가 정보는 Aspose.ZIP 문서를 참조하십시오.

관련 기사

Aspose Plugin을 .NET에 활용하면 .NET 7-Zip 압축을 애플리케이션에 쉽게 통합하고 파일 관리 프로세스를 간소화하며 소프트웨어의 기능을 향상시킬 수 있습니다. 단 $99에 대규모 파일 처리, 비동기 압축 등을 지원하는 강력한 기능을 잠금 해제할 수 있습니다.