.NET의 ZIP 및 UnZIP 폴더

Aspose.ZIP API를 사용하면 기본 파일 구조에 대해 걱정하지 않고 파일을 압축하고 압축을 풀 수 있습니다. 이 문서에서는 단일 및 다중 파일 압축 작업을 보여줍니다.

압축 디렉터리

디렉터리 내용 압축

단계: C#을 사용하여 디렉터리 콘텐츠를 ZIP 파일로 압축

  1. 압축할 파일이 포함된 디렉터리를 정의합니다.
  2. FileMode.Create를 사용하여 출력 ZIP 파일에 대한 두 개의 파일 스트림을 엽니다.
  3. Archive 클래스의 인스턴스를 생성합니다.
  4. CreateEntries 메서드를 사용하여 지정된 디렉터리의 모든 파일과 폴더를 아카이브에 추가합니다.
  5. Save 메서드를 사용하여 압축된 디렉터리 내용을 여러 ZIP 파일로 저장합니다.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    string dataDir = RunExamples.GetDataDir_Data();
 3
 4    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Create))
 5    {
 6        using (FileStream zipFile2 = File.Open(dataDir + "CompressDirectory2_out.zip", FileMode.Create))
 7        {
 8            using (Archive archive = new Archive())
 9            {
10                DirectoryInfo corpus = new DirectoryInfo(dataDir + "CanterburyCorpus");
11                archive.CreateEntries(corpus);
12                archive.Save(zipFile);
13                archive.Save(zipFile2);
14            }
15        }
16    }

압축된 디렉터리 아카이브 추출 중

단계: 압축된 디렉터리 아카이브 추출

  1. FileMode.Open을 사용하여 ZIP 파일 스트림을 엽니다.
  2. ZIP 파일 스트림을 전달하여 Archive 클래스의 인스턴스를 생성합니다.
  3. ExtractToDirectory를 사용하여 압축된 아카이브의 내용을 지정된 디렉터리로 추출합니다.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Open))
3    {
4        using (var archive = new Archive(zipFile))
5        {
6            archive.ExtractToDirectory(dataDir + "DecompressFolder_out");
7        }
8    }

파일 정보로 파일 압축

단계: 파일 정보별로 파일 압축

  1. FileMode.Create를 사용하여 출력 ZIP 파일에 대한 파일 스트림을 엽니다.
  2. 압축하려는 파일에 대한 FileInfo 개체를 만듭니다.
  3. Archive 클래스의 인스턴스를 생성합니다.
  4. CreateEntry 메소드를 사용하여 각 파일을 아카이브에 추가합니다.
  5. 인코딩 설정과 같은 선택적 저장 옵션과 함께 Save 메서드를 사용하여 아카이브를 저장합니다.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    using (FileStream zipFile = File.Open(dataDir + "CompressFilesByFileInfo_out.zip", FileMode.Create))
 3    {
 4        FileInfo fi1 = new FileInfo(dataDir + "alice29.txt");
 5        FileInfo fi2 = new FileInfo(dataDir + "fields.c");
 6
 7        using (var archive = new Archive())
 8        {
 9            archive.CreateEntry("alice29.txt", fi1);
10            archive.CreateEntry("fields.c", fi2);
11            archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
12        }
13    }

다른 항목 아카이브가 있는 아카이브 추출

단계: 다른 항목이 있는 아카이브 추출 비밀번호

  1. FileMode.Open을 사용하여 ZIP 파일 스트림을 엽니다.
  2. ZIP 파일 스트림을 전달하여 Archive 클래스의 인스턴스를 생성합니다.
  3. Extract 메소드를 사용하여 해당 항목에 대한 특정 비밀번호를 제공하고 아카이브에서 첫 번째 항목을 추출합니다.
  4. 다른 비밀번호로 두 번째 항목을 추출하여 별도의 출력 파일에 저장합니다.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "\\different_password.zip", FileMode.Open))
3    {
4        using (Archive archive = new Archive(zipFile))
5        {
6            archive.Entries[0].Extract(dataDir + "alice29_extracted_pass_out.txt", "first_pass");
7            archive.Entries[1].Extract(dataDir + "asyoulik_extracted_pass_out.txt", "second_pass");
8        }
9    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.