.NET에서 RAR 아카이브 추출

개요

Aspose.ZIP API를 사용하면 다른 타사 애플리케이션 없이도 애플리케이션에서 아카이브를 추출할 수 있습니다.  Aspose.ZIP API는 RAR 아카이브 작업을 위한 RarArchive 클래스를 제공합니다.  API는 RAR 아카이브 내의 단일 파일을 나타내는 RarArchiveEntry 클래스를 제공합니다.

RAR 아카이브 생성이 불가능합니다.

항목 추출

다음 코드 예제에서는 RarArchive 인스턴스를 사용하여 항목을 추출하는 방법을 보여줍니다.

단계: C#을 통해 RAR 아카이브에서 항목 추출

  1. RarArchive 인스턴스를 사용하여 RAR 아카이브를 엽니다.
  2. 추출된 항목에 대한 새 파일 스트림을 생성합니다.
  3. 첫 번째 항목에서 Open 메서드를 사용하여 해당 내용을 검색합니다.
  4. 버퍼를 사용하여 항목에서 데이터를 읽고 모든 바이트가 전송될 때까지 대상 파일 스트림에 씁니다.
 1    using (RarArchive archive = new RarArchive("archive.rar"))
 2    {
 3        using (var destination = File.Create(dataDir + "firstEntry.txt"))
 4        {
 5                using (var source = archive.Entries[0].Open())
 6                {
 7                    byte[] buffer = new byte[1024];
 8                    int bytesRead;
 9                    while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)                       
10                        destination.Write(buffer, 0, bytesRead);
11                            
12                }                    
13        }
14    }

암호화된 항목 추출

다음 코드 예제에서는 RarArchive 인스턴스를 사용하여 암호화된 항목을 추출하는 방법을 보여줍니다.

단계: 추출 C#을 통해 RAR 아카이브의 암호화된 항목

  1. FileInfo 개체를 사용하여 암호화된 RAR 아카이브를 펜합니다.
  2. 추출된 항목에 대한 파일 스트림을 생성합니다.
  3. 첫 번째 항목에서 Extract 메소드를 사용하여 이를 해독하는 데 필요한 비밀번호를 제공하십시오.
  4. 해독된 데이터를 대상 파일에 씁니다.
1    FileInfo fi = new FileInfo("encrypted.rar");
2    using (RarArchive archive = new RarArchive(fi.OpenRead()))
3    {
4        using (var destination = File.Create(dataDir + "firstEntry.txt"))
5        {
6            archive.Entries[0].Extract(destination, "p@s$w0rd");                
7        }
8    }

압축된 디렉터리 추출 중

다음 코드 예제에서는 RarArchive 인스턴스의 모든 파일을 저장하는 방법을 보여줍니다.

단계: C#을 통한 압축 디렉터리(RAR 아카이브)

  1. RarArchive 인스턴스를 사용하여 RAR 아카이브를 엽니다.
  2. ExtractToDirectory 메서드를 사용하여 아카이브의 모든 파일을 지정된 디렉터리로 추출합니다.
1    using (RarArchive archive = new RarArchive("archive.rar"))
2    {
3        archive.ExtractToDirectory("extracted");
4    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.