푸터 콘텐츠로 바로가기
IRONZIP 사용

C#을 사용하여 폴더 내 파일들을 압축하는 방법

ZIP 파일은 ZIP 형식을 사용하여 하나 이상의 압축 파일이나 폴더를 포함하는 파일입니다. 이는 여러 파일 또는 폴더를 하나의 파일로 압축하고 보관하는 일반적인 방법입니다. 이는 데이터 크기를 줄이거나 디스크 공간을 절약하고 인터넷을 통해 파일을 쉽게 전송할 수 있도록 합니다. 이 기사에서는 ZIP 파일을 C#에서 IronZIP 라이브러리를 사용하여 다루는 방법을 배우게 됩니다. 프로그램을 통해 ZIP 파일을 생성, 읽기, 추출 및 업데이트하는 방법과 암호화, 암호 보호, 압축 수준과 같은 IronZIP의 다양한 기능을 사용하는 방법을 배우게 됩니다. 이 기사를 마치면 C# 애플리케이션에서 IronZIP을 사용하여 ZIP 파일을 손쉽게 처리할 수 있게 될 것입니다.

이 기사에서 다룰 내용

  1. 프로젝트에 IronZIP 설치하기
  2. ZIP 파일 만들기
  3. 암호로 보호된 ZIP 파일 만들기
  4. ZIP 파일 추출하기
  5. 암호로 보호된 ZIP 파일 추출하기
  6. 기존 ZIP 아카이브 접근

IronZip이란 무엇인가요?

IronZIP는 ZIP 파일을 프로그램적으로 생성, 읽기 및 추출할 수 있는 강력하고 다양한 기능을 갖춘 C# ZIP 아카이브 라이브러리입니다. ZIP, TAR, GZIP, BZIP2 등 다양한 아카이브 형식을 지원합니다. 암호 보호, 암호화 및 압축 수준도 지원합니다. IronZIP는 .NET 8, 7, 6, Core, Standard 및 Framework와 호환됩니다.

IronZIP는 ZIP 파일 작업의 다양한 사용 사례와 이점을 처리할 수 있도록 돕습니다.

  1. 백업 시스템 만들기: IronZIP을 사용하여 중요한 파일과 폴더를 ZIP 아카이브로 압축하고 암호화하여 안전한 위치에 저장할 수 있습니다. 이를 통해 디스크 공간을 절약하고 무단 액세스로부터 데이터를 보호할 수 있습니다.
  2. 이메일 첨부 파일 보내기: IronZIP을 사용하여 압축한 ZIP 파일로 이메일 첨부 파일 크기를 줄일 수 있습니다. 이를 통해 파일 크기 제한을 초과하지 않도록 하고 전송 속도를 증가시킬 수 있습니다.
  3. 웹에서 파일 다운로드하기: IronZIP을 사용하여 소프트웨어 패키지, 문서, 이미지 및 기타 파일 유형과 같은 웹에서 ZIP 파일을 다운로드하고 추출할 수 있습니다. 이를 통해 대역폭과 시간을 절약하고 필요한 파일에 쉽게 접근할 수 있습니다.

IronZIP 시작하기

코드를 작성하기 전에 C# 프로젝트에 IronZIP NuGet 패키지를 설치해야 합니다. IronZIP는 NuGet을 통해 사용할 수 있는 인기 있는 압축 라이브러리입니다.

IronZIP 라이브러리 설치

IronZIP을 설치하려면 Visual Studio에서 NuGet 패키지 관리자 콘솔을 사용할 수 있습니다. 다음 명령을 실행하세요:

Install-Package IronZip

또는 공식 IronZIP 웹사이트에서 직접 패키지를 다운로드할 수 있습니다. 설치 후 C# 코드 상단에 다음 네임스페이스를 추가하여 시작할 수 있습니다.

using IronZip;
using IronZip;
$vbLabelText   $csharpLabel

폴더에서 C# ZIP 파일 만들기

IronZIP을 사용하여 쉽게 폴더에 ZIP 파일을 만들 수 있습니다. 다음 코드는 지정된 디렉터리의 모든 파일을 압축합니다.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
$vbLabelText   $csharpLabel

위의 C# 코드는 IronZIP 라이브러리를 사용하여 모든 파일을 하나의 ZIP 파일로 압축합니다. 코드는 다음을 수행합니다.

  • 문자열 배열을 fileArray로 선언하고, 디렉토리 경로("D:\Docs")를 매개변수로 전달하여 Directory.GetFiles 메서드의 결과를 할당합니다. 이 메서드는 지정된 디렉터리의 모든 파일의 전체 이름이 포함된 문자열 배열을 반환합니다.
  • 메모리에서 ZIP 보관을 나타내는 IronZipArchive 클래스의 새 인스턴스를 생성합니다. 인스턴스는 archive라는 변수에 할당되고, 코드 블록이 끝날 때 ZIP 보관이 처리되도록 보장하는 using 문으로 감쌉니다.
  • fileArray 배열을 foreach 루프를 사용하여 반복하고, 각 파일에 대해 archive 객체의 Add 메서드를 호출하여 파일 이름을 매개변수로 전달합니다. 이 메서드는 파일과 동일한 이름과 내용으로 ZIP 아카이브에 새 항목을 추가합니다.
  • ZIP 파일 이름("myZipFile.zip")을 매개변수로 전달하여 archive 객체의 SaveAs 메서드를 호출합니다. 이 메서드는 현재 파일 시스템에서 파일로 ZIP 아카이브를 저장합니다.

이렇게 하면 몇 줄의 코드만으로 새 ZIP 아카이브를 쉽게 만들 수 있습니다.

산출

출력은 다음과 같습니다:

C#를 사용하여 폴더의 파일을 압축하는 방법: 그림 1 - 이전 코드 예시의 출력 파일

암호로 보호된 ZIP 파일 만들기

IronZIP은 암호로 보호된 ZIP 파일을 쉽게 만드는 방법을 제공합니다. 다음 코드 샘플은 파일을 압축하여 암호로 보호된 새 ZIP 파일을 만듭니다.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Set Password and Encryption Method
            archive.Encrypt("myPa55word", EncryptionMethods.AES256);
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Set Password and Encryption Method
            archive.Encrypt("myPa55word", EncryptionMethods.AES256);
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
$vbLabelText   $csharpLabel

라인 archive.Encrypt("myPa55word", EncryptionMethods.AES256);은 IronZIP을 사용하여 ZIP 보관에 대해 비밀번호("myPa55word")를 설정합니다. AES-256 암호화를 보관에 적용하여 보안성을 강화하며, 올바른 비밀번호를 가진 사용자만 내용에 접근할 수 있도록 합니다. 이 기능은 C# 애플리케이션 내에서 저장하거나 전송할 때 민감한 데이터를 보호하는 데 유용합니다. 암호화 알고리즘의 지정된 모드를 두 번째 매개변수로 전달해야 합니다.

파일은 아래와 같이 암호화됩니다.

산출

C#를 사용하여 폴더의 파일을 압축하는 방법: 그림 2 - 이전 코드 예시의 출력된 암호화 파일

지정된 경로에서 디렉터리를 반복하여 ZIP 파일을 생성하는 데모를 보았습니다. 이제 파일을 압축 해제하는 예제로 이동합시다.

ZIP 아카이브에서 파일 추출하기

IronZIP는 C#에서 ZIP 아카이브에서 파일을 추출할 수 있는 메서드를 제공합니다. 다음 코드 샘플은 ZIP 아카이브 내의 압축 파일을 추출합니다.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
    }
}
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
    }
}
$vbLabelText   $csharpLabel

코드 IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");는 IronZIP을 사용하여 "myZipFile.zip"에서 모든 파일을 추출하고 이를 "myExtractedFiles" 디렉토리에 배치합니다. 이 간결한 메서드는 C#에서 ZIP 아카이브 추출 과정을 단순화하여 파일 추출 작업에 편리한 솔루션을 제공합니다.

산출

출력은 다음과 같습니다:

C#를 사용하여 폴더의 파일을 압축하는 방법: 그림 3 - 이전 코드 예시의 출력 파일

비밀번호로 보호된 ZIP 파일에서 추출하는 방법

IronZIP는 비밀번호로 보호된 ZIP 파일을 추출할 수 있는 메서드도 제공합니다. 다음 코드는 IronZIP 메서드를 사용하여 지정된 ZIP 파일에서 존재하는 모든 파일과 디렉터리를 추출합니다.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the password-protected ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
    }
}
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the password-protected ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
    }
}
$vbLabelText   $csharpLabel

IronZipArchive 클래스의 ExtractArchiveToDirectory 메서드는 ZIP 아카이브의 모든 항목을 지정된 디렉토리로 추출합니다. ZIP 파일의 경로("myZipFile.zip"), 대상 디렉터리의 경로("myExtractedFiles"), ZIP 파일의 비밀번호("myPa55word") 세 가지 인수를 메서드에 전달합니다.

이 방법으로 비밀번호로 보호된 ZIP 파일을 쉽게 추출할 수 있습니다.

기존 아카이브에 접근하는 방법

IronZIP는 기존 아카이브에 접근하여 파일에 있는 모든 항목을 볼 수 있는 메서드를 제공합니다.

using System;
using System.Collections.Generic;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Open an existing ZIP archive with a password
        using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
        {
            // Get entries list
            List<string> names = archive.GetArchiveEntryNames();
            // Iterate through each entry name and print it
            foreach (string name in names)
            {
                Console.WriteLine(name);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Open an existing ZIP archive with a password
        using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
        {
            // Get entries list
            List<string> names = archive.GetArchiveEntryNames();
            // Iterate through each entry name and print it
            foreach (string name in names)
            {
                Console.WriteLine(name);
            }
        }
    }
}
$vbLabelText   $csharpLabel

제공된 C# 코드는 이름이 "myZipFile.zip"인 ZIP 파일을 로드하고 비밀번호 "myPa55word"를 사용하여 안전한 IronZipArchive 인스턴스를 생성합니다. 파일이 암호화되지 않은 경우에는 비밀번호 매개변수를 전달하지 마십시오. 그런 다음 암호화된 ZIP 아카이브 내의 항목 이름(파일 및 폴더 이름) 목록을 검색하고 인쇄합니다.

GetArchiveEntryNames 메서드는 항목 이름을 수집하며, foreach 루프는 각 이름을 콘솔에 출력합니다. 이것은 IronZIP가 어떻게 안전하게 접근하고 비밀번호로 보호된 ZIP 아카이브에서 항목 정보를 간결하게 검색할 수 있도록 하는지를 보여줍니다.

산출

C#를 사용하여 폴더의 파일을 압축하는 방법: 그림 4 - 이전 코드 예시의 출력

결론

결론적으로, IronZIP는 ZIP 파일 작업에 있어 견고하고 다재다능한 C# 라이브러리로 입증되었습니다. 압축추출의 기본 기능을 넘어 다양한 아카이브 형식과의 호환성, 암호 보호 및 암호화 와 같은 기능을 제공하며 확장됩니다. 백업 시스템을 생성하거나 이메일 첨부 파일을 관리하거나 웹에서 파일을 다운로드하도록 할 때 IronZIP는 이러한 작업을 단순하고 효율적으로 만듭니다.

IronZIP를 C# 응용 프로그램에 통합하면 ZIP 파일을 처리하고 데이터 보안을 강화하며 파일 전송 과정을 최적화할 수 있는 강력한 도구를 얻을 수 있습니다. 필요에 따라 무료 체험판을 사용할 수 있습니다.

자주 묻는 질문

C#에서 폴더를 이용해 ZIP 파일을 만들려면 어떻게 해야 하나요?

IronZIP 사용하면 디렉터리 내의 파일을 순회하면서 새 ZIP 아카이브에 추가하여 폴더에서 ZIP 파일을 생성할 수 있습니다. IronZipArchive 클래스를 사용하고 SaveAs 메서드를 호출하여 ZIP 파일을 저장하세요.

C# 프로젝트에 IronZIP 설치하는 방법은 무엇인가요?

Visual Studio의 NuGet 패키지 관리자를 사용하여 C# 프로젝트에 IronZIP 설치하세요. 패키지 관리자 콘솔에서 Install-Package IronZip 명령을 실행하거나 IronZIP 공식 웹사이트에서 다운로드할 수 있습니다.

IronZIP ZIP 파일 처리를 위해 어떤 형식을 지원하나요?

IronZIP ZIP, TAR, GZIP, BZIP2를 포함한 다양한 압축 형식을 지원하여 다양한 압축 및 아카이빙 요구 사항에 맞는 유연성을 제공합니다.

C#으로 생성한 ZIP 파일을 암호화할 수 있나요?

네, IronZIP 사용하여 AES-256 암호화를 적용한 Encrypt 방식으로 ZIP 파일을 암호화하여 압축 파일 내의 데이터를 안전하게 보호할 수 있습니다.

C#에서 ZIP 파일에서 파일을 추출하는 방법은 무엇인가요?

IronZIP 사용하여 ZIP 압축 파일에서 파일을 추출하려면 소스 ZIP 파일과 대상 디렉터리를 지정하여 ExtractArchiveToDirectory 메서드를 사용하십시오.

C#에서 암호로 보호된 ZIP 파일을 처리하는 것이 가능할까요?

네, IronZIP 을 사용하면 ExtractArchiveToDirectory 와 같은 메서드를 사용할 때 암호를 제공하여 암호로 보호된 ZIP 파일도 안전하게 처리할 수 있습니다.

IronZIP ZIP 파일 관리 도구로 사용하는 장점은 무엇인가요?

IronZIP 암호화, 비밀번호 보호, 다양한 압축 형식 지원 등의 기능을 제공하여 파일 백업, 이메일 첨부 파일 관리, 웹 다운로드와 같은 작업을 간소화합니다.

IronZIP .NET 8 및 기타 버전을 지원합니까?

IronZIP .NET 8, 7, 6, Core, Standard 및 Framework와 호환되므로 다양한 C# 프로젝트에 유연하게 통합할 수 있습니다.

개발자는 IronZIP 평가판에 어떻게 접근할 수 있나요?

개발자는 IronZIP 웹사이트의 라이선스 또는 다운로드 섹션을 방문하여 IronZIP 의 무료 평가판을 이용해 기능을 평가할 수 있습니다.

ZIP 파일을 사용하여 데이터를 전송하는 것의 이점은 무엇입니까?

ZIP 파일은 파일 크기를 줄이고 디스크 공간을 절약하며 인터넷을 통해 여러 파일을 효율적으로 전송할 수 있도록 해주기 때문에 데이터 전송에 유용합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me