RAR은 데이터의 무손실 압축을 지원하는 일반적으로 사용되는 아카이브 파일 형식입니다. 종종 사람들은 더 나은 압축률을 제공하고 아카이브 크기를 더 작게 유지하기 때문에 ZIP보다 RAR을 선호합니다. 그러나 어떤 경우에는 RAR 파일을 ZIP 아카이브로 변환해야 할 수도 있습니다. 이를 달성하기 위해 이 문서에서는 C#에서 프로그래밍 방식으로 RAR 파일을 ZIP으로 변환하는 방법을 다룹니다.
RAR에서 ZIP으로의 변환을 위한 C# .NET API
Aspose.ZIP for .NET은 널리 사용되는 아카이브 형식의 생성 및 조작을 지원하는 강력한 아카이브 API입니다. 이 API를 사용하여 RAR 파일을 ZIP 형식으로 변환합니다. API를 사용하려면 NuGet에서 설치하거나 다운로드 섹션에서 해당 DLL을 다운로드할 수 있습니다.
PM> Install-Package Aspose.Zip
C#에서 RAR 파일을 ZIP으로 변환
RAR 파일은 .NET용 Aspose.ZIP을 사용하여 몇 단계 만에 ZIP 형식으로 변환할 수 있습니다. 다음은 C#에서 RAR 파일을 ZIP 아카이브로 변환하는 단계입니다.
ZIP 아카이브를 위한 Archive 클래스의 인스턴스를 만듭니다.
RarArchive 클래스를 사용하여 RAR 아카이브를 로드합니다.
RarArchive.Entries 컬렉션을 사용하여 RAR 아카이브 항목을 반복합니다.
RAR의 각 항목에 대해 다음 단계를 수행하십시오.
RarArchive.Entries[int].Extract(MemoryStream) 메서드를 사용하여 MemoryStream 개체에 항목을 추출합니다.
Archive.CreateEntry(String, MemoryStream) 메서드를 사용하여 ZIP에 항목을 추가합니다.
마지막으로 Archive.Save(String) 메서드를 사용하여 결과 ZIP 아카이브를 저장합니다.
다음 코드 샘플은 C#에서 RAR 파일을 ZIP 형식으로 변환하는 방법을 보여줍니다.
// ZIP 아카이브용 Archive 클래스 인스턴스 생성
using (Archive zip = new Archive())
{
// RAR 아카이브 로드
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// RAR 파일의 항목을 통해 루프
for (int i = 0; i < rar.Entries.Count; i++)
{
// RAR에서 ZIP으로 각 항목 복사
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
zip.CreateEntry(rar.Entries[i].Name, ms);
}
else
zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
// 결과 ZIP 아카이브 저장
zip.Save("output.zip");
}
무료 API 라이선스 받기
평가 제한 없이 Aspose.ZIP for .NET을 사용하려면 무료 임시 라이선스를 얻을 수 있습니다.
결론
이 기사에서는 C#에서 프로그래밍 방식으로 RAR 아카이브를 ZIP 형식으로 변환하는 방법을 배웠습니다. 단계별 가이드 및 코드 샘플은 몇 단계 만에 RAR 파일을 ZIP 아카이브로 변환하는 방법을 보여줍니다. 다른 기능을 탐색하려면 Aspose.ZIP for .NET의 문서를 읽을 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.