ZIP, RAR, TAR, GZIP, BZIP2와 같은 아카이브는 일반적으로 단일 컨테이너에 둘 이상의 파일 및 폴더를 저장하는 데 사용됩니다. 아카이브 파일의 또 다른 주요 이유는 압축 알고리즘을 사용하여 전체 파일 크기를 줄이는 것입니다. 다양한 파일 형식의 문서에서 데이터를 구문 분석하고 추출하는 것과 마찬가지로 아카이브 파일을 동일한 방식으로 처리할 수 있습니다. 아카이브 내에서 압축된 파일에서 텍스트, 이미지 및 메타데이터까지 추출할 수 있습니다. 이 기사에서는 C#을 사용하여 .NET 애플리케이션에서 ZIP 아카이브 데이터를 추출하는 방법에 대해 설명합니다.

다음 주제는 아래에서 다룹니다.

ZIP 파일 데이터를 추출하는 .NET API

GroupDocs.Parser는 개발자를 위한 문서 파싱 솔루션을 제공합니다. 이 기사의 C# 예제 내에서 .NET API를 사용하여 ZIP 파일 데이터 추출을 사용합니다. API를 사용하면 워드 프로세서 문서, 프리젠테이션, 스프레드시트, 이메일, 데이터베이스, eBook 및 기타 여러 가지와 같은 지원되는 문서 형식의 긴 목록에서 텍스트, 이미지 및 메타데이터를 추출할 수 있습니다.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 해당 패키지를 .NET 애플리케이션에 추가하여 API를 설치할 수 있습니다.

PM> Install-Package GroupDocs.Parser

C#에서 ZIP 파일 데이터를 추출하는 방법

GroupDocs.Parser for .NET은 ZIP, RAR, TAR, BZIP2 및 GZIP과 같은 다양한 압축 파일 형식에서 데이터 추출을 지원합니다. 압축 파일에서 파일 모음을 검색한 후 각 파일에서 모든 종류의 데이터를 추가로 추출할 수 있습니다.

다음 단계는 ZIP 파일 데이터를 추출하고 C#의 포함된 각 파일에서 텍스트를 검색하는 방법을 보여줍니다.

  • Parser 클래스를 사용하여 ZIP 아카이브를 로드합니다.
  • GetContainer 메서드를 사용하여 첨부 파일 가져오기
  • 첨부 파일 컬렉션을 탐색합니다.
  • 각 첨부 파일에 대해 Parser 클래스의 해당 메소드를 사용하여 서로 다른 종류의 데이터를 얻을 수 있습니다.

소스 코드는 C#을 사용하여 ZIP 파일 데이터를 추출하는 방법을 보여줍니다. 이 예에서는 ZIP 아카이브 내의 모든 파일에서 전체 텍스트를 추출합니다.

// C#에서 ZIP 아카이브 데이터 추출
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // 컨테이너에서 첨부 파일 추출
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // 엔터티 컬렉션 반복
    foreach (ContainerItem item in attachments)
    {
        // 파일 정보 인쇄
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // ZIP 엔티티 텍스트 추출
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

위 소스 코드의 출력은 ZIP 파일 내의 PDF 파일 중 하나에서 검색된 텍스트를 보여줍니다.

 -----------------------------------
 Name: sample.pdf
 File Size: 33370 Bytes
 -----------------------------------

 Heading

 This is the first paragraph of the sample document that contains some sample
 text, bulleted list, numbered list and more.

    •  Bullet Item 1
    •  Bullet Item 2
    •  Bullet Item 3
 
 This is the second paragraph of the sample document and after this, there is a
 numbered list: 

    1. Numbered Item 1
    2. Numbered Item 2
    3. Numbered Item 3 

무료 API 라이선스 받기

평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.

결론

요약하자면, .NET 애플리케이션 내에서 C#을 사용하여 ZIP 아카이브 데이터를 추출하는 방법을 배웠습니다. 보다 구체적으로 이제 ZIP, RAR, TAR, GZIP 및 BZIP 파일에서 데이터를 추출할 수 있습니다. 압축 파일을 위한 자체 데이터 추출 .NET 애플리케이션을 구축할 수도 있습니다. API에 대한 자세한 내용이나 학습은 문서를 참조하십시오. 문의 사항은 포럼을 통해 문의해 주세요.

또한보십시오