C#를 사용하여 RAR 파일 추출하는 방법
C#를 사용하여 RAR 파일 추출하는 방법
이 가이드에서는 C#을 사용하여 RAR 파일을 추출하는 과정을 다룰 것입니다. 이 튜토리얼에는 개발 환경을 설정하는 데 필요한 리소스, 프로그래밍 논리를 설명하는 단계의 포괄적인 목록 및 RAR 파일을 압축 해제하는 실행 가능한 샘플 코드가 포함되어 있습니다.
RAR 파일 추출의 이점
- 압축:
- RAR 형식은 일반적으로 ZIP에 비해 더 나은 압축 비율을 제공합니다.
- 다중 파트 아카이브:
- RAR 파일은 다중 파트 아카이브를 지원하여 대용량 데이터 세트를 더 작은 파일로 분할할 수 있습니다.
- 파일 정보:
- 추출하기 전에 아카이브 내 파일에 대한 다양한 세부정보(크기, 날짜 등)에 접근할 수 있습니다.
전제 조건: 환경 준비
- Visual Studio 또는 호환 가능한 .NET IDE를 설정합니다.
- 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 추출 기능을 애플리케이션에 원활하게 통합할 수 있습니다. 추가 탐색을 위해 파일 압축 또는 다른 아카이브 형식 추출에 대한 튜토리얼을 확인해 보세요.