C#을 사용하여 아카이브를 압축하거나 추출하는 방법

개요

이 문서에서는 아카이브를 압축하거나 추출하는 방법을 설명합니다. 이러한 아카이브는 Zip, 7z, Rar 및 기타 유사한 형식일 수 있습니다. 다음 주제를 다룹니다.

형식: ZIP

형식: ZIP - 비밀번호

형식: 7z

형식: RAR

이 기사에서 다루는 다른 주제.

C# 아카이브 압축 또는 추출

이 페이지에서는 .NET용 Aspose.ZIP을 사용하여 C#에서 표준 아카이브 작업을 수행하는 방법을 보여줍니다. 다음 NuGet 명령을 사용하여 Aspose.ZIP 패키지를 .NET 프로젝트에 추가할 수 있습니다.

1PM> Install-Package Aspose.Zip

또한 어셈블리 참조로 .NET 프로젝트에 직접 추가할 수도 있습니다. Aspose.ZIP 라이브러리는 당사 홈페이지( https://products.aspose.com/zip/net/)에서 다운로드할 수 있습니다.

Aspose.ZIP .NET 라이브러리는 .NET Core를 지원하는 모든 OS(예: Windows, Linux 또는 macOS)에서 사용할 수 있습니다.

C#에서 ZIP 파일을 만드는 방법

단계: C#에서 Zip 파일 만들기

  1. Archive 클래스의 인스턴스를 생성합니다.
  2. Archive.CreateEntry 메서드를 사용하여 파일을 추가합니다.
  3. Archive.Save 방법을 사용하여 파일을 압축합니다.
1using (var archive = new Archive())
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

Archive 클래스 생성자는 암호화 없이 Deflate 압축 알고리즘을 사용하여 일반 ZIP 아카이브를 생성합니다.

C#에서 파일의 압축을 푸는 방법

단계: C#에서 폴더에 파일 압축 풀기

  1. _zip 파일_을 사용하여 Archive 클래스의 인스턴스를 만듭니다.
  2. Archive.ExtractToDirectory 방법을 사용하여 _zip 파일_을 폴더에 압축 해제합니다.
1using (var archive = new Archive("input_archive.zip"))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

Archive 클래스 생성자는 모든 ZIP 아카이브를 열 수 있습니다. 입력 아카이브가 비밀번호로 보호되는 경우 ArchiveLoadOptions를 두 번째 매개변수로 제공해야 합니다(아래 예 참조).

C#에서 7z 파일을 압축하는 방법

단계: C#에서 7z 아카이브 만들기

  1. SevenZipLZMACompressionSettings을 사용하여 SevenZipArchive 클래스의 인스턴스를 생성합니다.
  2. SevenZipArchive.CreateEntries 메서드를 호출하여 파일을 추가합니다.
  3. SevenZipArchive.Save 메소드를 호출하여 7z 형식으로 저장합니다.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3	archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4	archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}

새로운 7z 아카이브를 생성하려면 SevenZipArchive 클래스 생성자를 사용해야 합니다. 위 샘플에서는 클래식 LZMA 압축을 사용하지만 다른 압축 및 암호화 옵션도 사용할 수 있습니다.

C#에서 7z 파일을 추출하는 방법

단계: C#에서 7z 파일 추출

  1. _7z 파일_을 사용하여 SevenZipArchive 클래스의 인스턴스를 만듭니다.
  2. SevenZipArchive.ExtractToDirectory 메서드를 호출하여 7z 파일의 내용을 추출합니다.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

위 샘플에서 SevenZipArchive 클래스 생성자는 보호되지 않은 7z 아카이브를 엽니다.

C#에서 RAR 파일을 추출하는 방법

단계: C#에서 RAR 파일 추출

  1. _RAR 파일_을 사용하여 RarArchive 클래스의 인스턴스를 만듭니다.
  2. RarArchive.ExtractToDirectory 메소드를 호출하여 RAR 파일의 내용을 추출합니다.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

위의 샘플 RarArchive 클래스 생성자는 보호되지 않은 RAR 아카이브를 엽니다.

C#에서 비밀번호를 사용하여 파일을 ZIP하는 방법

단계: C#에서 비밀번호를 사용하여 Zip 파일 만들기

  1. Archive 클래스의 인스턴스를 생성합니다.
  2. ArchiveEntrySettings를 전달하고 _password_가 있는 TraditionalEncryptionSettings 객체로 encryptionSettings 속성을 설정합니다.
  3. Archive.CreateEntry 메서드를 여러 번 호출하여 원하는 만큼 파일을 추가합니다.
  4. Archive.Save 방법을 사용하여 _Zip 파일_로 저장합니다.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

암호화설정 매개변수는 비밀번호로 보호된 ZIP 아카이브를 생성하는 데 사용됩니다.

C#에서 비밀번호가 있는 파일의 압축을 푸는 방법

단계: C#을 사용하여 비밀번호로 보호된 Zip 파일 압축 풀기

  1. Archive 클래스의 인스턴스를 생성합니다.
  2. ArchiveLoadOptions 객체를 전달하고 zip 파일 _password_로 DecryptionPassword 속성을 설정합니다.
  3. Archive.ExtractToDirectory 방법을 사용하여 _zip 파일_을 폴더에 압축 해제합니다.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

DecryptionPassword 속성 값이 포함된 ArchiveLoadOptions는 암호로 보호된 ZIP 아카이브를 여는 데 사용됩니다.

참조

이 기사에서는 이러한 주제도 다룹니다. 코드는 위와 동일합니다.

형식: ZIP

형식: 7z

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.