C#에서 여러 ZIP 또는 TAR 아카이브 병합

.NET 애플리케이션 내에서 아카이브로 작업하는 동안 여러 ZIP 또는 TAR 파일을 병합해야 할 수 있습니다. 예를 들어, 여러 아카이브에서 파일과 폴더를 추출하여 단일 아카이브에 넣을 수 있습니다. 이를 달성하기 위해 이 문서에서는 C#에서 여러 ZIP 또는 TAR 파일을 병합하는 방법을 다룹니다. ZIP에서 ZIP으로, TAR에서 TAR로, ZIP에서 TAR로, TAR에서 ZIP으로 병합에 대해 설명합니다.

ZIP 및 TAR 파일 병합을 위한 C# .NET API

여러 ZIP 및 TAR 아카이브를 병합하기 위해 Aspose.ZIP for .NET을 활용합니다. 다양한 인기 아카이브 형식을 만들고 조작할 수 있는 기능이 풍부한 .NET API입니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 직접 설치할 수 있습니다.

PM> Install-Package Aspose.Zip

C#에서 여러 ZIP 파일 병합

아카이브를 ZIP 형식으로 병합하는 여정을 시작해 보겠습니다. 두 개의 ZIP 아카이브를 가져와 단일 ZIP 파일로 항목을 수집합니다. 다음은 C#에서 여러 ZIP 파일을 병합하는 단계입니다.

다음 코드 샘플은 C#에서 두 개의 ZIP 파일을 병합하는 방법을 보여줍니다.

// 소스 ZIP 아카이브 로드
using (Archive sourceArchive = new Archive("Archives/SourceArchive.zip"))
{
    // 대상 ZIP 아카이브 로드
    using (Archive destArchive = new Archive("Archives/DestinationArchive.zip"))
    {
        // 항목 반복
        foreach (ArchiveEntry entry in sourceArchive.Entries)
        {
            // 항목이 디렉토리가 아닌지 확인하십시오. 디렉토리인 항목은 건너뛰지만 해당 파일은 상대 경로에 따라 추가됩니다.
            if (!entry.IsDirectory)
            {
                // 메모리 스트림에 항목 로드
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);

                // 대상 ZIP에 항목 추가
                destArchive.CreateEntry(entry.Name, mem);
            } 
        }

        // 병합된 아카이브를 별도로 저장
        destArchive.Save("Archives/merged-archive.zip");
    }
}

C#에서 여러 TAR 파일 병합

이제 C#에서 여러 TAR 아카이브를 병합하는 방법을 살펴보겠습니다. 이를 달성하기 위한 단계는 다음과 같습니다.

다음 코드 샘플은 C#에서 여러 TAR 파일을 병합하는 방법을 보여줍니다.

// 소스 TAR 아카이브 로드
using (TarArchive sourceArchive = new TarArchive("Archives/SourceArchive.tar"))
{
    // 대상 TAR 아카이브 로드
    using (TarArchive destArchive = new TarArchive("Archives/DestinationArchive.tar"))
    {
        // 항목 반복
        foreach (TarEntry entry in sourceArchive.Entries)
        {
            // 항목이 디렉토리가 아닌지 확인하십시오. 디렉토리인 항목은 건너뛰지만 해당 파일은 상대 경로에 따라 추가됩니다.
            if (!entry.IsDirectory)
            {
                // 메모리 스트림에 항목 로드
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);

                // 대상 TAR에 항목 추가
                destArchive.CreateEntry(entry.Name, mem);
            }
        }

        // 병합된 아카이브를 별도로 저장
        destArchive.Save("Archives/merged-archive.tar");
    }
}

C#에서 ZIP을 TAR로 병합

이 섹션에서는 ZIP 파일을 C#의 TAR 아카이브에 병합하는 방법을 살펴봅니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 ZIP 아카이브를 TAR에 병합하는 방법을 보여줍니다.

// 소스 ZIP 아카이브 로드
using (Archive zipArchive = new Archive("Archives/SourceArchive.zip"))
{
    // 대상 TAR 아카이브 로드
    using (TarArchive tarArchive = new TarArchive("Archives/DestinationArchive.tar"))
    {
        // 항목 반복
        foreach (ArchiveEntry entry in zipArchive.Entries)
        {
            // 항목이 디렉토리가 아닌지 확인하십시오. 디렉토리인 항목은 건너뛰지만 해당 파일은 상대 경로에 따라 추가됩니다.
            if (!entry.IsDirectory)
            {
                // 메모리 스트림에 항목 로드
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);

                // 대상 TAR에 항목 추가
                tarArchive.CreateEntry(entry.Name, mem);
            }
        }

        // 병합된 아카이브를 별도로 저장
        tarArchive.Save("Archives/merged-archive.tar");
    }
}

C#에서 TAR과 ZIP 결합

이전 예와 유사하게 TAR 파일을 ZIP으로 병합할 수 있습니다. 다음 코드 샘플은 TAR에서 파일을 추출하고 ZIP으로 병합하는 방법을 보여줍니다.

// TAR 아카이브 로드
using (TarArchive tarArchive = new TarArchive("Archives/SourceArchive.tar"))
{
    // ZIP 아카이브 로드
    using (Archive zipArchive = new Archive("Archives/DestinationArchive.zip"))
    {
        // 항목 반복
        foreach (TarEntry entry in tarArchive.Entries)
        {
            // 항목이 디렉토리가 아닌지 확인하십시오. 디렉토리인 항목은 건너뛰지만 해당 파일은 상대 경로에 따라 추가됩니다.
            if (!entry.IsDirectory)
            {
                // 메모리 스트림에 항목 로드
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);

                // ZIP에 항목 추가
                zipArchive.CreateEntry(entry.Name, mem);
            }
        }

        // 병합된 아카이브를 별도로 저장
        zipArchive.Save("Archives/merged-archive.zip");
    }
}

무료 API 라이선스 받기

임시 무료 라이선스를 얻으면 평가 제한 없이 Aspose.ZIP for .NET을 사용할 수 있습니다.

결론

이 기사에서는 C#에서 프로그래밍 방식으로 여러 ZIP 또는 TAR 아카이브를 병합하는 방법을 배웠습니다. 특히 ZIP 파일, TAR 파일, ZIP을 TAR로, TAR을 ZIP으로 동적으로 병합하는 방법을 다루었습니다. .NET용 Aspose.ZIP에 대해 자세히 알아보려면 문서를 방문하십시오. 또한 포럼에 질문을 게시할 수 있습니다.

또한보십시오