C#를 사용하여 RAR 파일 추출하는 방법

C#를 사용하여 RAR 파일 추출하는 방법

이 가이드에서는 C#을 사용하여 RAR 파일을 추출하는 과정을 다룰 것입니다. 이 튜토리얼에는 개발 환경을 설정하는 데 필요한 리소스, 프로그래밍 논리를 설명하는 단계의 포괄적인 목록 및 RAR 파일을 압축 해제하는 실행 가능한 샘플 코드가 포함되어 있습니다.

RAR 파일 추출의 이점

  1. 압축:
    • RAR 형식은 일반적으로 ZIP에 비해 더 나은 압축 비율을 제공합니다.
  2. 다중 파트 아카이브:
    • RAR 파일은 다중 파트 아카이브를 지원하여 대용량 데이터 세트를 더 작은 파일로 분할할 수 있습니다.
  3. 파일 정보:
    • 추출하기 전에 아카이브 내 파일에 대한 다양한 세부정보(크기, 날짜 등)에 접근할 수 있습니다.

전제 조건: 환경 준비

  1. Visual Studio 또는 호환 가능한 .NET IDE를 설정합니다.
  2. NuGet 패키지 관리자에서 Aspose.ZIP을 설치합니다.

RAR 파일 추출을 위한 단계별 가이드

단계 1: Aspose.ZIP 설치

프로젝트에 Aspose.ZIP 라이브러리를 추가합니다.

Install-Package Aspose.ZIP

단계 2: RAR 파일 로드

RarArchive 클래스를 사용하여 원본 RAR 파일을 로드합니다.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // 처리 단계가 여기 뒤따릅니다
}

단계 3: 항목 파싱

RAR 아카이브의 모든 항목을 반복합니다.

foreach (var entry in rarArchive.Entries)
{
    // 추가 처리 단계가 여기 뒤따릅니다
}

단계 4: FileStream 생성

추출된 데이터를 기록하기 위해 각 항목에 대한 FileStream을 생성합니다.

var file = File.Create(entry.Name);

단계 5: 항목에서 바이트 읽기

현재 항목에서 모든 바이트를 읽고 FileStream에 저장합니다.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

단계 6: 추출된 파일 저장

FileStream이 제대로 저장되고 닫혔는지 확인합니다.

file.Close();
file.Dispose();

RAR 파일 추출을 위한 전체 코드 예제

다음은 C#에서 RAR 파일을 추출하는 방법을 보여주는 전체 예제입니다:

// RAR 파일 로드
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // 아카이브의 모든 항목 파싱
    foreach (var entry in rarArchive.Entries)
    {
        // 각 항목에 대한 파일 생성
        var file = File.Create(entry.Name);
        
        // 아카이브 항목을 열고 데이터를 파일에 저장
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // 저장 후 파일 스트림 닫기
        file.Close();
    }
}

추가 정보

  • 추출하기 전에 크기나 날짜와 같은 다양한 기준에 따라 파일을 필터링할 수 있습니다.
  • Aspose.ZIP 라이브러리는 다양한 아카이브 형식을 지원하여 다재다능한 파일 조작을 가능하게 합니다.

결론

이 가이드는 Aspose.ZIP을 사용하여 C#에서 RAR 파일을 추출하는 방법을 보여주었습니다. 설명된 단계와 코드 샘플을 따르면 RAR 추출 기능을 애플리케이션에 원활하게 통합할 수 있습니다. 추가 탐색을 위해 파일 압축 또는 다른 아카이브 형식 추출에 대한 튜토리얼을 확인해 보세요.

 한국어