C#을 사용하여 RAR을 CPIO로 변환하는 방법

먼저 C# 프로젝트에서 Aspose.Zip 라이브러리를 가져와 참조해야 합니다. 일반적으로 Aspose 웹사이트에서 다운로드하거나 가능한 경우 NuGet 패키지를 사용할 수 있습니다. 패키지 관리자에서 Aspose.ZIP을 검색하여 설치하세요. 패키지 관리자 콘솔에서 다음 명령을 사용할 수도 있습니다.

Visual Studio 패키지로 NuGet 패키지 관리

패키지 관리자 콘솔 명령:

PM> Install-Package Aspose.Zip

C#을 통해 RAR을 CPIO로 변환하는 단계

Convertation from RAR to CPIO consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

시스템 요구 사항

Before running the conversion example code, make sure that you have the following prerequisites.

  • Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
  • Development environment like Microsoft Visual Studio.
  • Aspose.Tasks for .NET DLL referenced in your project.

RAR에서 CPIO로 변환하는 샘플 코드

RAR 아카이브를 CPIO 형식으로 변환하려면 고유한 특성을 가진 두 가지 압축 형식 간의 전환이 필요합니다. RAR 아카이브는 강력한 압축 기능과 광범위한 사용으로 잘 알려져 있습니다. Unix 계열 시스템에서 흔히 사용되는 CPIO 아카이브로 변환하면 변환 과정에서 원본 파일 구조와 데이터가 주의 깊게 보존됩니다. 이렇게 하면 콘텐츠에 액세스할 수 있고 손상되지 않은 상태로 유지되므로 Unix 환경 내의 특정 사용 사례에 적합합니다.

그러나 CPIO 아카이브는 RAR 아카이브와 동일한 수준의 압축 효율성을 제공하지 않을 수 있다는 점을 고려하는 것이 중요합니다. 따라서 사용자는 이 변환을 수행하기로 결정할 때 압축 요구 사항 및 대상 시스템과의 호환성을 포함한 요구 사항을 고려해야 합니다. RAR을 CPIO로 변환하는 것은 데이터 구조와 무결성을 유지하면서 특정 Unix 기반 시나리오에 맞게 RAR 아카이브를 조정해야 하는 사용자에게 유용할 수 있습니다.

다양한 형식의 RAR 코드: RAR 아카이브에는 일반적으로 여러 레코드나 파일이 포함되어 있습니다. . 이 아카이브를 GZ(Gzip), LZ(Lzip), Z(Unix Compress), XZ(XZ Utils) 및 BZ2(Bzip2)와 같은 형식으로 변환하기 위한 일반적인 접근 방식은 먼저 콘텐츠를 TAR(테이프)로 패키지하는 것입니다. 아카이브 형식. 이 프로세스는 Linux 환경의 일반적인 관행을 연상시킵니다.

이 변환 프로세스에서는 RAR 아카이브 내의 각 파일 또는 레코드가 먼저 단일 TAR 아카이브로 함께 묶입니다. 이 TAR 아카이브는 개별 파일의 컨테이너 역할을 하며 원본 구조와 메타데이터를 보존합니다. 데이터가 TAR 아카이브 내에 캡슐화되면 다양한 압축 알고리즘과 형식을 적용하기가 더 쉬워집니다.

TAR을 중간 형식으로 선택한 이유는 단순성과 다양한 Unix 계열 운영 체제 간의 폭넓은 호환성 때문입니다. 압축을 직접 적용하지 않고도 파일을 그룹화하는 간단한 방법을 제공합니다. TAR 패키징이 완료된 후 후속 압축 작업을 TAR 아카이브에 적용하여 GZ, LZ, Z, XZ 또는 BZ2와 같은 원하는 출력 형식을 생성할 수 있습니다.

RAR에서 CPIO로 변환 - C#:

    using (CpioArchive tarArchive = new CpioArchive())
    {
        using (RarArchive rar = new RarArchive(@"archive.rar"))
        {
            for (int i = 0; i < rar.Entries.Count; i++)
            {                        
                if (!rar.Entries[i].IsDirectory)
                {
                    var ms = new MemoryStream();
                    rar.Entries[i].Extract(ms);
                    ms.Seek(0, SeekOrigin.Begin);
                    tarArchive.CreateEntry(rar.Entries[i].Name, ms);
                }
                else
                    tarArchive.CreateEntry(rar.Entries[i].Name+ "/", Stream.Null);
            }
        }
        tarArchive.Save("output.cpio");
    }



ZIP을 TAR.LZ로 변환하는 무료 앱

다음과 같은 이점이 있는 RAR에서 CPIO로의 변환에 대한 라이브 데모를 확인하세요.


아카이브를 압축, 추출, 암호화, 해독, 변환 및 병합할 수 있는 신뢰할 수 있는 Aspose.ZIP 라이브러리입니다. .NET API용 Aspose.ZIP을 사용하면 최소한의 코딩 노력으로 압축 파일 형식의 기본 복잡성을 겪지 않고도 다양한 아카이브 유형을 조작할 수 있습니다.

기타 지원되는 RAR 변환

또한 RAR을 아래 나열된 몇 가지 파일 형식을 포함하여 다양한 다른 파일 형식으로 변환할 수도 있습니다.