C#에서 메모리 내 ZIP 파일 생성하는 방법

C#에서 메모리 내 ZIP 파일 생성하는 방법

이 단계별 튜토리얼에서는 C#를 사용하여 메모리에서 ZIP 파일을 만드는 방법을 배울 수 있습니다.이 과정은 디스크에 물리적 파일을 만들 필요없이 ZIP 형식으로 파일과 폴더를 압축 할 수 있습니다.

메모리에 ZIP 파일을 만드는 혜택

  • 성과:- 디스크 I/O 위를 피하여 프로세스를 더 빠르게 만듭니다.

  • 일시적인 저장:- 빠른 액세스 및 처리를 위해 메모리에 파일을 삽입합니다.

  • 유연성:- 중간 저장 없이 네트워크를 통해 파일을 보내는 것과 같은 작업을 촉진합니다.

원제 : Environment Preparation

  • Visual Studio 또는 모든 호환되는 .NET IDE를 설정합니다.
  • NuGet 패키지 관리자에서 Aspose.ZIP를 설치합니다.

메모리에서 ZIP 파일을 만드는 단계별 가이드

단계 1 : Aspose.ZIP 설치

프로젝트에 Aspose.ZIP 라이브러리를 추가하여 시작하십시오.

Install-Package Aspose.ZIP

단계 2 : 이름 공간을 포함

추가하기 The Aspose.Zip 당신의 코드를 사용하여 그 기능을 사용합니다.

using Aspose.Zip;

3단계: 디스크에서 파일을 다운로드

원본 폴더에서 파일 경로를 스트리트 라인으로 복구합니다.

string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

4단계: 아카이브 개체 만들기

즉시 한 Archive 기억에 있는 개체는 ZIP 입력을 유지합니다.

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // Further processing follows here
    }
}

5단계: 아카이브 입력 만들기

파일 라인을 통해 이동하고 하나를 만들기 ArchiveEntry 각 파일에 대하여

foreach (string fileDiskPath in filesArray)
{
    string fileName = Path.GetFileName(fileDiskPath);
    zipArchive.CreateEntry(fileName, fileDiskPath);
}

단계 6 : 메모리에 ZIP 파일을 저장

메모리에 ZIP 아카이브를 생성하여 저장할 수 있습니다. MemoryStream.

zipArchive.Save(zipFileInMemory);

메모리에서 ZIP 파일을 만드는 완전한 코드 예제

다음은 메모리에서 ZIP 파일을 만드는 방법을 설명하는 전체 코드입니다 :

// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // Create an empty Archive object for ZIP
    using (Archive zipArchive = new Archive())
    {
        // Get all files from a folder and store their paths in a string array
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // Loop through the array and create an ArchiveEntry for each file
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // Save the Archive in memory
        zipArchive.Save(zipFileInMemory);
    }
}

추가 정보

  • 코드를 쉽게 변경하여 ZIP 파일에 암호화 또는 압축 방법을 적용할 수 있습니다.
  • 이 솔루션은 메모리 ZIP 파일에 대한 추가 작업을 수행 할 수 있습니다, 예를 들어 네트워크를 통해 전송하거나 나중에 디스크에 저장.

결론

이 튜토리얼은 C#를 사용하여 메모리에서 ZIP 파일을 만드는 방법을 보여줍니다. 제공 된 출처를 따르면 실질적인 파일을 만들 필요없이 응용 프로그램 내에서 파일 압축을 효율적으로 관리할 수 있습니다. ZIP 파일 추출과 같은 고급 기능을 위해 추가 Aspose.ZIP 문서를 확인하십시오.

 한국어